私は現在、Visual Studio 2012 の Forms に慣れる方法として小さなサイド プロジェクトに取り組んでいます。通常はコンソール アプリケーションのみを使用するからです。私の現在のレイアウトはタブを使用するように設計されており、ユーザーはこのアプリケーションに必要なタブの数を指定する必要があります。次に、いくつかの情報を入力すると、フォーマットされて、ユーザーが指定した場所にあるファイルに出力されます。質問に進みます。
重複するタブが存在しないようにするために、次を使用しています。
private void comboTabs_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboSkills.SelectedIndex == 0)
{
tabControl1.TabPages.Remove(tab8);
tabControl1.TabPages.Remove(tab7);
tabControl1.TabPages.Remove(tab6);
tabControl1.TabPages.Remove(tab5);
tabControl1.TabPages.Remove(tab4);
}
//repeat for Index 1, 2 and so on
}
常に最低 3 つのタブが存在するため、コンボ ボックスで最初に選択するとタブ 4 から 8 が削除されます。次の選択では同じことが行われますが、再び tab4 が追加されます。これは、次の選択に続きます。これをもっと便利にできる方法はありますか?
2 番目の質問です。各タブには、ユーザーが情報を選択するための一連のテキスト ボックスとコンボ ボックスがあります。私が抱えている問題は、ユーザーが選択したタブの数を特定し、それらのタブからのみ情報を取得する必要があることです。次の方法でタブの数を取得できることを認識しています。
int numberoftabs = tabControl1.TabCount;
しかし、その後、私は彼らからの情報を読み取ることができないようです. するつもりです
for (int i = 0; i < numberoftabs; i++)
{
//get textbox text of tab i and so on
}
これを行う方法はありますか?現在のレイアウトがとても気に入っているので、タブ レイアウトを使用したいと考えていました。違いがある場合、すべてのタブは同じレイアウトを持ち、タブ 1 テキスト ボックス 1 は textTab1Name、タブ 2 テキスト ボックス 2 は textTab2Name などの命名規則を共有します。