• 多线程访问winform控件示例


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Threading;

    namespace WindowsFormsApplication1
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    private Thread t;
    private void button1_Click(object sender, EventArgs e)
    {
    if (t != null)
    {
    t.Abort();
    }
    t
    = new Thread(Run);
    t.Start();
    }
    private delegate void deleChange(String text);
    private void ChangeLable(String text)
    {
    label1.Text
    = text;
    }
    private delegate void deleHide(bool isHide);
    private void Hide(bool isHide)
    {
    label2.Visible
    = !isHide;
    }
    private void Run()
    {
    deleChange dcl
    = new deleChange(ChangeLable);
    deleHide dh
    = new deleHide(Hide);
    int count = 100;
    while (count > 0)
    {
    if (count % 4 == 0)
    {
    label1.Invoke(dcl,
    "Start...");
    }
    else if (count % 4 == 1)
    {
    label1.Invoke(dcl,
    "Start..");
    }
    else if (count % 4 == 2)
    {
    label1.Invoke(dcl,
    "Start.");
    }
    else
    {
    label1.Invoke(dcl,
    "Start");
    }

    if (count % 2 == 0)
    {
    label2.Invoke(dh,
    true);
    }
    else
    {
    label2.Invoke(dh,
    false);
    }
    Thread.Sleep(
    200);
    count
    --;
    }
    }

    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
    if (t != null && t.IsAlive)
    {
    if (MessageBox.Show("yes or no?", "exit", MessageBoxButtons.YesNo) == DialogResult.Yes)
    {
    t.Abort();
    }
    else
    {
    e.Cancel
    = true;
    }
    }
    }
    }
    }
  • 相关阅读:
    【Vue】源码——编译过程
    FreeRADIUS 、DaloRADIUS 搭建记录
    docker 学习笔记
    wget 技巧
    Centos 部署Cobbler系统
    Cloudstack 安装记录
    利用Google GCM发送push通知到Android客户端
    利用ApnsPHP包向IOS推送消息
    Linux下SCP的使用
    Android Google购买PHP服务器端验证(订阅购买和一次性购买)
  • 原文地址:https://www.cnblogs.com/heihaozi/p/2013642.html
Copyright © 2020-2023  润新知