2009-07-30 10 views
0

これは私のシナリオです... 私は、各タブ(各タブには異なるフィールドがあります)にさまざまなフィールドを持つwinForm tabControlを持っています。ユーザーが 'Generate'ボタンをクリックすると、TabControlのタブからコントロールを渡すので、呼び出された関数は、渡されたコントロールの情報に基づいて電子メールを作成できます。各タブは異なる電子メールテンプレートです。メソッドは4つの異なるボタンから呼び出すことができ、各ボタンは異なるタブコントロールページにあり、各タブコントロールは異なるフィールドを持ちます。C#WinForm;コントロールのグループを別のクラスに渡す

私が抱えている問題は、これらのコントロールを呼び出す/渡すための適切な方法を理解できないことです。何のtabControlボタンが実行時まで押されているのかわからないので、各タブに異なるコントロールがあるので、これらのコントロールを受け入れる抽象メソッドを作成しようとしています。

アイデア?他の誰かが述べたように

答えて

1

、あなたはカンニングと間に合わせの修正のために

tabControl.Controls 

を使用して試すことができます。

あなたが将来的に実行可能なものを望んでいるだけでなく、より良い設計プラクティスに晒されたい場合は、代替案を提案したいと思います。メールのフォームフィールドをすべて保持するEmailUserControlUserControlを作成します。すべての個々のフィールドの代わりに、そのユーザーコントロールをタブに配置します。次に、すべてのフィールドを考慮した希望の電子メールを生成するメソッドをユーザーコントロールに提供します。次に、実際の電子メールを渡すことができます。

もちろん、このデザインにはさらなる改良が施されていますが、これはあなたの足を濡らして少しでも良いものを試す絶好の機会です。 UserControlのアイデアがより快適になると、コントロールのデザインを自分で改善するための追加の機会が得られます。 :)

+0

私は自分自身をデザイン面で混乱させていました。私は話すためにタブ 'クラス'として機能する各タブ用のクラスを作成しました。私は、各タブのユーザーコントロールを作成し、そのユーザーコントロールのクラスが今説明したクラスとして機能するようにしました。助けてくれてありがとう! – user141594

+0

恐ろしい!お役に立てて嬉しいです。 :) –

関連する問題