Tag: 事件

检测表单何时关闭c#

我有一个我创建的WinForm,它显示一个带按钮的提示。 这是一个自定义的WinForm视图,因为消息框对话框还不够。 我有一个后台工作人员开始运行。 如果单击myForm上的按钮,我还想退出while( aBackgroundWorker.IsBusy )循环。 //MyProgram.cs using(CustomForm myForm = new CustomForm()) { myForm.Show(theFormOwner); myForm.Refresh(); while(aBackgroundWorker.IsBusy) { Thread.Sleep(1); Application.DoEvents(); } } 现在,在CustomForm , Button_clicked事件,我有 //CustomForm.cs private void theButton_Click(object sender, EventArgs e) { this.Close(); } 我是否需要向CustomForm类或我声明和初始化表单的位置添加更多代码以便能够检测到闭包?

在2个WPF窗口之间发送事件

我有两个WPF窗口。 一个是主窗口,另一个是配置窗口。 我想配置窗口发送和事件到主窗口。 知道我是如何完成的吗? 这是我创建和打开配置窗口的方式: private void MenuItem_Click(object sender, RoutedEventArgs e) { ConfigPage Confwin= new ConfigPage(); Confwin.Owner = this; Confwin.Show(); }

C#.net – 如何提醒程序线程已完成(事件驱动)?

这是我class上的一个片段: public bool start() { Thread startThread = new Thread(this.ThreadDealer); startThread.Start(); return _start; } 在ThreadDealer()中,我将布尔变量“_start”设置为false或true。 我现在需要但似乎无法弄清楚是一个事件来提醒start()在ThreadDealer() – Thread完成时执行它的return语句。 我尝试使用AutoResetEvent和.WaitOne(),但是因为我有一个只阻止所有内容的GUI,而它完成我需要它做的事情(等待线程完成),如果它阻止我的GUI就没用了。 任何帮助将非常感激。

C#/。NET – WinForms – 实例化一个表单而不显示它

我在加载事件期间将表单的可见性更改为false,表单仍然显示自己。 什么是正确的事件来绑定这个.Visible = false; 至? 我想实例化Form1而不显示它。 using System; using System.Windows.Forms; namespace TestClient { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { this.Visible = false; } } }

订阅嵌套(子)对象的INotifyPropertyChanged

我正在寻找一个干净而优雅的解决方案来处理嵌套(子)对象的INotifyPropertyChanged事件。 示例代码: public class Person : INotifyPropertyChanged { private string _firstName; private int _age; private Person _bestFriend; public string FirstName { get { return _firstName; } set { // Short implementation for simplicity reasons _firstName = value; RaisePropertyChanged(“FirstName”); } } public int Age { get { return _age; } set { // Short implementation for […]

使用New Handler附加Eventhandler与直接分配它

创建新事件处理程序与直接将其分配给事件的实际差异,优缺点是什么? _gMonitor.CollectionChanged += new NotifyCollectionChangedEventHandler(OnCollectionChanged); VS _gMonitor.CollectionChanged += OnCollectionChanged;

.NET EventHandlers – 通用还是不通用?

每次我深入开始一个C#项目时,我最终都会遇到许多事件,而这些事件实际上只需要传递一个项目。 我坚持使用EventHandler / EventArgs练习,但我喜欢做的是: public delegate void EventHandler(object src, EventArgs args); public class EventArgs: EventArgs { private T item; public EventArgs(T item) { this.item = item; } public T Item { get { return item; } } } 后来,我可以拥有我的 public event EventHandler FooChanged; public event EventHandler BarChanged; 但是,似乎.NET的标准是为每种类型的事件创建一个新的委托和EventArgs子类。 我的通用方法有问题吗? 编辑:这篇文章的原因是我刚刚在一个新项目中重新创建了它,并希望确保它没问题。 实际上,我在发布时正在重新创建它。 我发现有一个通用的EventHandler ,所以你不需要创建generics委托,但是你仍然需要通用的EventArgs类,因为TEventArgs: EventArgs 。 […]

UserControl加载事件未触发

我有WinForms应用程序。 My Form派生类具有UserControl派生类。 我只是将几个控件放入一个UserControl中以简化重用。 不触发UserControl的Load事件。 我必须设置一些房产吗?

在C#中将事件从一个表单传播到另一个表单

如何单击一个表单中的按钮并以另一种forms更新TextBox中的文本?

抓住文本框滚动事件?

文本框或richtextbox,我想要的只是在滚动条移动时触发一个函数。 我已经找到了GetScrollPos和SetScrollPos。 我想定期检查滚动条位置但必须有更好的方法。 那么,更好的方法是什么? 更新:使用WinForms