我对 C# 编程非常陌生,我在一个类中有开始按钮,在另一个类中有带有 TextBox 的 Transfer Start 和 Transfer Stop 标签。两者都在设计中的不同选项卡中。我可以在同一个选项卡和类中显示开始和停止时间,但我无法在另一个类中显示。我附上了如下简单设计。![示例][1]
当我单击项目选项卡中的“开始”按钮时,它必须在带有标签“传输开始”的文本框中显示开始时间。与停止按钮也相同。我想显示开始和停止时间。在项目选项卡中,我还有一些其他功能要添加,但我没有在这里显示。
我对 C# 编程非常陌生,我在一个类中有开始按钮,在另一个类中有带有 TextBox 的 Transfer Start 和 Transfer Stop 标签。两者都在设计中的不同选项卡中。我可以在同一个选项卡和类中显示开始和停止时间,但我无法在另一个类中显示。我附上了如下简单设计。![示例][1]
当我单击项目选项卡中的“开始”按钮时,它必须在带有标签“传输开始”的文本框中显示开始时间。与停止按钮也相同。我想显示开始和停止时间。在项目选项卡中,我还有一些其他功能要添加,但我没有在这里显示。
您可以使用委托将值传递给第二个选项卡/类,以避免交叉线程问题等......类似于:
MyClass.NotifyParentUI += new EventHandler<MyArgs>(UpdateMyLabel);
public void UpdateMyLabel(object sender, MyArgs ea)
{
this.Invoke(new MethodInvoker(
delegate()
{
myLabel.Text = ea.Message;
}));
}
public class MyArgs : EventArgs
{
public string Message { get; set; }
}
然后在要从使用中传递数据的类中:
public MyClass
{
public static event EventHandler<MyArgs> NotifyParentUI;
protected virtual void OnMyEvent(MyArgs ea)
{
if (NotifyParentUI != null)
{
NotifyParentUI(this, ea);
}
}
}
使用:
OnMyEvent(new MyArgs() { Message = "Transfer start/stop values go here" });
传递价值
您可以使用各种方法在表单之间传递数据 在表单之间传递数据
如果两个选项卡的表单相同,则可以使用控件本身。那有什么问题?
public Class form2 {
public form2(string somevalues)
{
//use this values. in form2
}
}
public class form1 {
form2 objfrm = new form2("your value");
}