質問

さまざまな種類のレポートを開くためのリンクを表示するフォームを作成しています。このシステムにはさまざまなタイプのユーザーがいるため、ユーザーはアクセスできるレポートのタイプへのリンクのみを表示する必要があります。

現在、この設定の方法はLinkLabelsのArrayListがあることですが、私が抱えている問題は、ArrayListの各LinkLabelにLinkClickedイベントを持たせて、フォーム固有の情報を表示する方法です各レポートへ。

役に立ちましたか?

解決

リスト内のすべてのLinkLabelに同じイベントハンドラーを適用し、sender引数から特定のLinkLabelを取得できます。

他のヒント

実際には、LinkLabelのCommandNameラベルにロードされるレポートの名前を持つすべてのリンクラベル(ArrayListのデータバインディングプロセス中にハンドラーを追加)に対して単一のイベントハンドラーがあります。イベントハンドラーが起動すると、CommandName属性を確認し、適切な機能を起動して特定のレポートを読み込みます。

すべての動的LinkLabelインスタンスに単一のイベントハンドラーを使用することをお勧めします。

通常、キーがLinkLabelインスタンスで、値がクリックイベント内で使用されるもの(適切な場合はレポートインスタンスなど)であるHashtableを使用します。

次に、使用するクリックイベントで(たとえば)

Report r = m_TheTable[sender] as Report;
if( r != null ) r.DoSomething();
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top