0
我有两个类,我正在使用这个窗口窗体。第一个是表单的实际代码类,我让它调用另一个类来执行任何数据库操作。如何调用窗体上的按钮?
虽然数据库类抛出一个错误,因为它必须在有特定数据时更新窗体上的某些按钮等。
如何编写它,以便当按钮需要更新时,它可以更新它?就像在数据库类里面一样。
我想过尝试:
Form1.Radbutton("insert code here");
而且是正确的?
我有两个类,我正在使用这个窗口窗体。第一个是表单的实际代码类,我让它调用另一个类来执行任何数据库操作。如何调用窗体上的按钮?
虽然数据库类抛出一个错误,因为它必须在有特定数据时更新窗体上的某些按钮等。
如何编写它,以便当按钮需要更新时,它可以更新它?就像在数据库类里面一样。
我想过尝试:
Form1.Radbutton("insert code here");
而且是正确的?
为什么不在你的数据库类的fire事件中更新按钮文本? 这就是为什么你可以处理表单中的事件并更新按钮。
例如创建委托事件
public delegate void UpdateButtonText (string text);
public event UpdateButtonText UpdateButtonTextHandler;
调用事件
protected void RaiseEvent
{
if (this.UpdateButtonText!= null)
{
this.UpdateButtonText(text);
}
}
在你的表格,你可以处理该事件本身
DBClass.UpdateButtonText+=HandleIt;
和
protected void HandleIt(string text)
{
btnWhatever.Text = text;
}
+1这基本上是WPF的工作原理(使用MVVM),如果你还没有绑定到Windows窗体,我会建议查看它,因为它几乎删除了所有这些样板代码。 – BradleyDotNET
发布错误,你会得到有利的 – Sorceri
它只是说,该按钮不存在于当前的情况下。 – Joshua
你不能“呼叫”一个按钮。这是一个对象,而不是一种方法。如果你需要“更新”它,那么你可能应该考虑改变它的Text属性。或已启用。或BackgroundImage。哪些可能适用是非常不清楚的。 “Form1”大致相同,它是*类型*。你需要一个对象引用。 –