winformでフォームを別の開いたフォームにデータを渡すにはどうすればよいですか?開いたフォームから別のフォームにデータを渡すにはどうすればよいですか?
Windowsアプリケーションでは、1つのフォームが別のフォームを開きます。親フォームでデータを入力すると、直ちに別の子フォームに反映されます。
これはどうなりますか?
winformでフォームを別の開いたフォームにデータを渡すにはどうすればよいですか?開いたフォームから別のフォームにデータを渡すにはどうすればよいですか?
Windowsアプリケーションでは、1つのフォームが別のフォームを開きます。親フォームでデータを入力すると、直ちに別の子フォームに反映されます。
これはどうなりますか?
どのようにファンシーにしたいですか。
最も簡単な方法は、メソッドを直接呼び出すことです。その後、
親
_child = new ChildForm();
、あなたがアップデート(TextChangedなどのSelectedIndexChanged)それ以外
_child.UpdateData(someDataCollectedFromParent)
子供
public void UpdateData(MyObject data)
{
textBox1.Text = data.FirstName;
textBox2.Text = data.SecondName;
}
を検出し、あなたCOUメッセージの受け渡しメカニズムを構築するか、インフラストラクチャDataBindingを調べてください。
また、MyObjectにSystem.ComponentModel.INotifyPropertyChangedを使用することもできます。 m_PropertyChanged
myObject1.PropertyChanged += new PropertyChangedEventHandler(m_PropertyChanged);
をして::
public class MyObject : INotifyPropertyChanged
{
public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
private object _data1;
public object Data1
{
get{ return _data1;}
set
{
_data1=value;
PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Data1"));
}
}
}
は、あなたの子フォームで、次のコードが示すように、(s)は、新たなデータの更新のためにこのイベントを受信する機能を割り当てる
public void m_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
// update your data here, you can cast sender to MyObject in order to access it
}
よろしくお願いします。 S. Peyman Mortazavi
これは私がhav e子は情報を親に送信するが、逆の方法ではない。この例では、子供はそのイベントに登録するために親への参照を持つ必要があります。 – Servy