/// フォーム側
namespace HogeSpace
{
public partial class formHoge : Form
{
(中略)
/// ロードされたとき
private void formHoge_Load(object sender, EventArgs e)
{
// ユーザコントロールにイベントハンドラーを設定する
this.userControlHoge.SetHogeEventHandler += new EventHandler(this.SetHoge);
}
(中略)
/// ユーザコントロールから使用されるメソッド
private void SetHoge(object sender, EventArgs e)
{
// キャストして確認する
string str = sender as string;
if (str == null) { return; }
// ラベルに表示するとか
this.lblHoge.Text = str;
}
}
}
/// ユーザコントロール側
namespace HogeSpace
{
public partial class userControlHoge : UserControl
{
// イベントハンドラー
public event EventHandler SetHogeEventHandler = null;
(中略)
/// テキストボックスからフォーカスアウトしたとき
private void txtHoge_Leave(object sender, EventArgs e)
{
// イベントの設定の確認
if (this.setHogeEventHandler == null) { return; }
// フォーム側に値を適用する
this.SetHogeEventHandler (((TextBox)sender).Text, null);
}
}
}
<-手っ取り早く済ます方法--
--型を固定したり戻り値を取ったりする方法->
--型を固定したり戻り値を取ったりする方法->
/// フォーム側
namespace PiyoSpace
{
// イベントの型定義
// (同じnamespace配下であればどの.csに記載しても大丈夫(のはず))
public partial class formPiyo : Form
{
(中略)
/// ロードされたとき
private void formPiyo_Load(object sender, EventArgs e)
{
// ユーザコントロールにイベントハンドラーを設定する
this.userControlPiyo.GetPiyoEventHandler += new PiyoEventHandler(this.GetPiyo);
{
(中略)
/// ロードされたとき
private void formPiyo_Load(object sender, EventArgs e)
{
// ユーザコントロールにイベントハンドラーを設定する
this.userControlPiyo.GetPiyoEventHandler += new PiyoEventHandler(this.GetPiyo);
}
(中略)
/// ユーザコントロールから使用されるメソッド
private string GetPiyo(int index)
private string GetPiyo(int index)
{
// フォームのリストビューから指定されたインデックスの文字列を返すとか
string ret = string.Empty;
try
{
ret = this.listViewPiyo.Items[i].ToString();
}
catch
{
ret = string.Empty;
}
return ret;
}
}
}
/// ユーザコントロール側
namespace PiyoSpace
{
public partial class userControlPiyo : UserControl
{
// イベントハンドラー
public event PiyoEventHandler GetPiyoEventHandler = null;
(中略)
{
/// コンボボックスの選択が変更されたとき
private void cmbPiyo_SelectedIndexChanged(object sender, EventArgs e){
// イベントの設定の確認
if (this.getPiyoEventHandler == null) { return; }
// 選択しているインデックスを取得する
int index = ((ComboBox)sender).Selectedindex;
// フォーム側から値を取得する
string str = this.GetPiyoEventHandler (index);
// ラベルに表示してみるとか
this.lblPiyo.Text = str;
}
}
}
<-型を固定したり戻り値を取ったりする方法--
※動作しているコードからコピー/編集しました
0 件のコメント:
コメントを投稿