我有一个带有TextBox和一个OK 按钮的表单。我有另一个类(名为 AnotherClass),它在 Form 类之前被实例化。我在 AnotherClass 中创建 Form 类的新实例,向用户显示表单并接受一些文本框中的双精度值。单击“确定”按钮后,我想在AnotherClass中调用一个方法,该方法使用文本框的文本作为参数。我应该怎么做?请帮忙。
问问题
729 次
2 回答
0
我看到了两种解决这个问题的方法
第一:
在 FormClass 中:
public string txt { get; set; } //A so called property
private void OK_button_Click(object sender, EventArgs e)
{
txt = textBox.Text;
this.DialogResult = System.Windows.Forms.DialogResult.OK;
this.Close();
}
在另一个类中:
private void openForm() //Method in AnotherClass where you create your object of your FormClass
{
FormClass fc = new FormClass ();
if (fc.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
YourMethodInAnotherClass(fc.txt);
}
}
第二种解决方案(使用参数):
在 FormClass 中:
AnotherClass anotherClass = null;
public FormClass(AnotherClass a) //Constructor with parameter (object of your AnotherClass)
{
InitializeComponent();
anotherClass = a;
}
private void OK_button_Click(object sender, EventArgs e)
{
anotherClass.YourMethodInAnotherClass(textBox.Text);
this.Close();
}
在另一个类中:
private void openForm()
{
FormClass fc = new FormClass(this);
fc.ShowDialog();
}
public void YourMethodInAnotherClass(string txt)
{
//Do you work
}
于 2013-09-15T20:17:27.200 回答
0
如果我正确理解了您的问题,那么您有一个 winform 的情况,并且您想访问另一个类中的文本框值或文本框。
如果是这样的话,
public class AnotherClass
{
public void YourMethodThatAccessTextBox(TextBox t)
{
// do something interesting with t;
}
}
In your OK button
ok_click
{
AnotherClass ac = new AnotherClass().YourMethodThatAccessTextBox(txtValue);
}
于 2013-09-15T19:49:08.633 回答