Formクラスの前にインスタンス化される別のクラス (AnotherClass という名前) があります。AnotherClass で Form クラスの新しいインスタンスを作成し、ユーザーにフォームを表示し、いくつかを受け入れます。テキストボックスの double 値。[OK] ボタンをクリックすると、テキスト ボックスのテキストを引数として使用するAnotherClassのメソッドを呼び出したいのですが、どうすればよいですか? 助けてください。
質問する
729 次
2 に答える
0
私があなたの質問を正しく理解していれば、winform の状況があり、別のクラスの textbox 値または textbox にアクセスしたいと考えています。
もしそうなら、
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 に答える
0
これを解決するには2つの方法があります
最初の1つ:
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);
}
}
2 番目の解決策 (パラメーターを使用):
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 に答える