如何从另一种形式使用1的控件?

时间:2010-11-24 22:29:48

标签: c# winforms

我正在使用主表单和编辑表单,我想使用主表单中的编辑表单文本框,我该怎么办?

修改

无法使用用户控件。

2 个答案:

答案 0 :(得分:2)

最简单的方法是创建公开文本字段的属性。请调用您的编辑表单,然后再阅读这些属性。

public class MainForm
{
  private void OnEditClick()
  {
    EditForm editForm = new EditForm();
    DialogResult result = editForm.ShowDialog(this);
    //check the result for ok/cancel etc if your using them.
    whatever = editForm.TextBox1;
    whatever2 = editForm.TextBox2;
}

public class EditForm
{
  public string TextBox1 { get { return textBox1.Text;} }
  public string TextBox2 { get { return textBox2.Text;} }
  // etc
}

您可以公开整个控件,但如果您关心的只是文本框的内容,那么创建属性以便仅显示这些内容更加清晰。

答案 1 :(得分:0)

它必须是活的吗?如果没有,请在编辑表单上添加一个属性并存储该值(就像检索.Filename时的OpenFileDialog一样)。关闭后,取回房产并将其放在主表格中。

如果它确实需要生效,您可能需要使用事件(在Silverlight中实现接近INotifyPropertyChanged的内容),然后将mainform附加到编辑表单的事件并根据需要更新控件(记住检查InvokeRequired!)