当前位置: 首页 > news >正文

网站快照前显示中文怎么做的网站提交收录软件

网站快照前显示中文怎么做的,网站提交收录软件,做网站是如何赚钱的,南阳网站建设多少钱实现实例1 实现效果 跨线程实现 // 委托,用于定义在UI线程上执行的方法签名 //public delegate void SetTextCallback(string text);public void textBoxText(string text){// 检查调用线程是否是创建控件的线程 if (textBox1.InvokeRequired){// 如果不是&#…

实现实例1

实现效果

跨线程实现

// 委托,用于定义在UI线程上执行的方法签名  //public delegate void SetTextCallback(string text);public void textBoxText(string text){// 检查调用线程是否是创建控件的线程  if (textBox1.InvokeRequired){// 如果不是,则使用Invoke在正确的线程上执行  //方法1 测试通过1//SetTextCallback d = new SetTextCallback(textBoxText);//textBox1.Invoke(d, new object[] { text });//方法2  测试通过2//Action<string> dlg = new Action<string>(textBoxText);//textBox1.Invoke(dlg, text);//方法3  测试通过3textBox1.Invoke(new Action<string>(textBoxText), text);}else{// 如果是,则直接设置Text属性  textBox1.Text = text;}}

 调用跨线程

 private void button1_Click(object sender, EventArgs e){// 在一个后台线程中更新TextBox  Task.Run(() =>{while (true){// 模拟一些工作  Thread.Sleep(100);// 安全地更新TextBox的文本  textBoxText( DateTime.Now.ToString("HH:mm:ss:fff") + " 后台赋值2");}});}

实现实例2

在Windows Forms应用程序中,跨线程写入TextBox控件通常是不安全的,因为它违反了UI控件的线程亲和性规则。UI控件只能由创建它们的线程(通常是主UI线程)访问和修改。如果尝试从其他线程直接修改TextBoxText属性,可能会遇到不可预测的行为,如异常、界面冻结或数据不一致。

为了确保线程安全地更新TextBox控件的内容,你应该使用控件的InvokeBeginInvoke方法,这些方法允许你在控件的拥有线程上执行委托。Invoke方法是同步的,它会等待操作完成,而BeginInvoke是异步的,不会等待。

以下是一个简单的示例,展示了如何安全地从另一个线程更新TextBox控件的文本:

参考代码

using System;  
using System.Threading;  
using System.Windows.Forms;  public partial class MainForm : Form  
{  private TextBox textBox;  public MainForm()  {  InitializeComponent();  textBox = new TextBox();  textBox.Dock = DockStyle.Fill;  this.Controls.Add(textBox);  // 启动一个后台线程来更新TextBox  Thread newThread = new Thread(() =>  {  // 模拟一些工作  Thread.Sleep(1000);  // 安全地更新TextBox的文本  UpdateTextBoxFromAnotherThread("这是从另一个线程安全地写入的文本!");  });  newThread.Start();  }  // 使用Invoke确保在UI线程上更新TextBox  private void UpdateTextBoxFromAnotherThread(string text)  {  // 检查是否需要跨线程调用  if (textBox.InvokeRequired)  {  textBox.Invoke(new MethodInvoker(delegate  {  textBox.Text = text;  }));  }  else  {  textBox.Text = text;  }  }  
}

在上面的代码中,UpdateTextBoxFromAnotherThread方法负责更新TextBox的文本。它首先检查是否需要跨线程调用,如果是,则使用Invoke方法来在UI线程上执行一个匿名委托,该委托设置TextBoxText属性。如果不需要跨线程调用(即代码已经在UI线程上执行),则直接更新TextBox的文本。

请注意,这种方法也适用于其他UI控件,如LabelComboBoxListBox等。只需将TextBox替换为相应的控件名称,并相应地调整代码即可。

参考链接

textbox文本框跨线程写入,扩展textobx控件-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/anlog/article/details/136256340?spm=1001.2014.3001.5502

特此记录

anlog

2024年2月27日

http://www.dt0577.cn/news/7099.html

相关文章:

  • 杭州网站建设费用多少钱网站如何优化排名
  • 没有做防注入的网站如何自己建一个网站
  • 苏州园区两学一做网站南宁企业官网seo
  • 邢台做网站价位网络营销10大平台
  • 兼职做设计什么网站好网络优化工程师工作内容
  • 做go kegg的网站网络营销渠道的特点
  • 龙华网站建设yihekj线上推广怎么做
  • 做网站是用ecs还是虚拟主机青岛 google seo
  • 网络营销产品的整体概念外包seo公司
  • ftp工具下载网站源码教程网站提交入口链接
  • 免费网站建设 百度一下网络营销公司注册找哪家
  • 济南做公司网站需要多少钱怎么样推广最有效最快速
  • 手机网站建设的价格广告sem是什么意思
  • 北京西城区建设局网站百度旗下推广平台有哪些
  • 弓长岭网站建设深圳高端网站制作公司
  • 央企门户网站哪家做的最好windows 优化大师
  • 中国建设机械委员会网站晚上看b站
  • wordpress主题如何开发深圳seo优化方案
  • vshtml5网站开发百度联盟官网登录入口
  • 东莞建站公司速推全网天下首选网上推广专员是什么意思
  • 威海微网站建设北京谷歌seo公司
  • 美国网站加速器四川网络推广推广机构
  • 如何修复网站中的死链太原网站建设方案咨询
  • 网站建设中的英文个人网站建设
  • 杭州企业网站优化成都关键词排名推广
  • 图片优化网站西地那非片的正确服用方法
  • 静态网站用什么做最快百度网盘搜索引擎官方入口
  • 网站怎样被百度收录江门关键词排名工具
  • 潍坊外贸建站百度seo排名技术必不可少
  • 北京画册设计公司seo专业论坛