C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: Tabコントロールに割り振られたイベントハンドラ呼び出し


(過去ログ 119 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■69628 / inTopicNo.1)  Tabコントロールに割り振られたイベントハンドラ呼び出し
  
□投稿者/ morimori (62回)-(2014/01/15(Wed) 13:23:05)

分類:[C#] 

C# 2010 Windows7 Home

morimoriです。
GrapCityのC1Ribbonを使っておりまして、タブを選択したとき(Selectイベント)のイベントを処理するために
どちらの方法がいいか迷っております。
仮にどちらかがやめたほうがいい方法の場合は教えてくだされば幸いです。

@Selectイベントの中にcase文でタブのインデックスごとに各タブで処理しているメソッドを並べる。
ATabPageオブジェクトを取得してSelectイベントに割り振られているイベントを呼び出す。

Aのほうがcase分が不要で二度手間にならない方法だと思うのですが、
 その方法がわかりません。
Aのほうが良いと思われる方はイベントハンドラに割り振られたメソッド呼び出す方法も
 教えてください。それでは失礼します。
引用返信 編集キー/
■69629 / inTopicNo.2)  Re[1]: Tabコントロールに割り振られたイベントハンドラ呼び出し
□投稿者/ shu (468回)-(2014/01/15(Wed) 13:35:30)
No69628 (morimori さん) に返信
> C# 2010 Windows7 Home
>
> morimoriです。
> GrapCityのC1Ribbonを使っておりまして、タブを選択したとき(Selectイベント)のイベントを処理するために
> どちらの方法がいいか迷っております。
> 仮にどちらかがやめたほうがいい方法の場合は教えてくだされば幸いです。
>
> @Selectイベントの中にcase文でタブのインデックスごとに各タブで処理しているメソッドを並べる。
> ATabPageオブジェクトを取得してSelectイベントに割り振られているイベントを呼び出す。
>
> Aのほうがcase分が不要で二度手間にならない方法だと思うのですが、
>  その方法がわかりません。
> Aのほうが良いと思われる方はイベントハンドラに割り振られたメソッド呼び出す方法も
>  教えてください。それでは失礼します。
GrapCityのC1Ribbonが手元にないので実装方法は提示の通り可能だとして回答します。
1の方法はインデックスが変わるとコードを修正しなければならないので
出来るだけ2の方法にした方がよいように思います。パフォーマンス的に明らかに1が速いということで
あれば1にするのも仕方がないかと思います。中間的な方法になるかもしれませんがインデックスから
タブを取得することが出来ればコード修正をしなくてもよいかもしれません。


引用返信 編集キー/
■69633 / inTopicNo.3)  Re[2]: Tabコントロールに割り振られたイベントハンドラ呼び出し
□投稿者/ morimori (63回)-(2014/01/15(Wed) 14:53:11)
shuさん

中間的な方法で試してみましたが、同じインデックスを設定してもSelectイベントは発生しませんでした。
選択しているTabPageのオブジェクトは取得できるのですが、TabPageによってそれぞれ
イベントハンドラに当てているメソッドが違うので

例)○○Designer.csより
this.ribbonTab1.Select += new System.EventHandler(this.TypeASelect);
this.ribbonTab2.Select += new System.EventHandler(this.TypeBSelect);
this.ribbonTab3.Select += new System.EventHandler(this.TypeCSelect);
this.ribbonTab4.Select += new System.EventHandler(this.TypeDSelect);
this.ribbonTab5.Select += new System.EventHandler(this.TypeESelect);

イベントハンドラにあてはめているメソッドを呼び出したいのですが、
どのように呼び出せばよろしいでしょうか。


引用返信 編集キー/
■69635 / inTopicNo.4)  Re[3]: Tabコントロールに割り振られたイベントハンドラ呼び出し
□投稿者/ shu (470回)-(2014/01/15(Wed) 17:37:44)
No69633 (morimori さん) に返信

> 選択しているTabPageのオブジェクトは取得できるのですが
これをSelectedTabPageとして

if (SelectedTabPage == ribbonTab1)
TypeASelect(ribbonTab1, EventArgs.Empty);
・・・

こんなイメージで呼べばよいのではないでしょうか?
引用返信 編集キー/
■69640 / inTopicNo.5)  Re[4]: Tabコントロールに割り振られたイベントハンドラ呼び出し
□投稿者/ morimori (65回)-(2014/01/16(Thu) 08:52:10)
なるほど。ありがとうございます。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -