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

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

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

Re[3]: TabControlでコントロールが消える


(過去ログ 23 を表示中)

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

■9997 / inTopicNo.1)  TabControlでコントロールが消える
  
□投稿者/ カエデ (6回)-(2007/11/08(Thu) 22:19:12)

分類:[.NET 全般] 

お世話になります。
VS2005 .net C#でアプリケーションを作成しています。

フォームにButtonとTabControlを貼り付け、TabPage1にlabel1を貼り付けます。

Buttonを押すと、TabPage2に切り替わり、MessageBoxでOKが押されたら、
label1がTabPage2に移動する、というプログラムです。

private void button1_Click(object sender, EventArgs e)
{
tabControl1.SelectTab(1);
}

private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
if (DialogResult.OK == MessageBox.Show(this, "Change OK?", "Test", MessageBoxButtons.OKCancel))
tabControl1.SelectedTab.Controls.Add(label1);
else
tabControl1.SelectTab(0);
}

ここで、MessageBoxをcancelにした場合、tabpage1のラベルが表示されません。
Button操作でなく、マウスで直接tabを変更した場合はラベルは表示されます。

Button操作の時に、ラベルが表示されるようにするのは、どうすればいいでしょうか?

よろしくお願いします。
引用返信 編集キー/
■10000 / inTopicNo.2)  Re[1]: TabControlでコントロールが消える
□投稿者/ はつね (335回)-(2007/11/08(Thu) 23:38:01)
はつね さんの Web サイト
No9997 (カエデ さん) に返信
> private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
> {
> if (DialogResult.OK == MessageBox.Show(this, "Change OK?", "Test", MessageBoxButtons.OKCancel))
> tabControl1.SelectedTab.Controls.Add(label1);
> else
> tabControl1.SelectTab(0);
> }
>
> ここで、MessageBoxをcancelにした場合、tabpage1のラベルが表示されません。

TabControl1_SelectingでMessageBOxをCancelしたらe.cancel=Trueにしてもだめですか?


> Button操作の時に、ラベルが表示されるようにするのは、どうすればいいでしょうか?

やろうとしていることはtabpageの移動のキャンセルに相当するのでは?

引用返信 編集キー/
■10014 / inTopicNo.3)  Re[2]: TabControlでコントロールが消える
□投稿者/ y4yama (37回)-(2007/11/09(Fri) 11:50:06)
No9997 (カエデ さん) に返信

> TabControl1_SelectingでMessageBOxをCancelしたらe.cancel=Trueにしてもだめですか?
が、順当な手法と思います。

以下は、私の興味でのレポートです
TABキーと矢印キーの操作で移動させる時にもうまくLabel1(TabPage1)が戻って出るのに,
tabControl1_SelectedIndexChanged()の中では、何か変なようです
Button1を押すのでは、Label1(TabPage1)が戻らないで、TabPage2のままです(上のタブは1になってる)
で、(VB2005で)
   TabControl1.SelectTab(0)
' TabPage2.Hide()
TabPage1.Show()

としたら、とりあえずはOKでしたが・・・こんなことは、しないほうがいいです
引用返信 編集キー/
■10108 / inTopicNo.4)  Re[3]: TabControlでコントロールが消える
□投稿者/ カエデ (7回)-(2007/11/11(Sun) 20:58:33)
はつねさん、y4yamaさん、ありがとうございます。

初心者なので教えて欲しいのです。

>>TabControl1_SelectingでMessageBOxをCancelしたらe.cancel=Trueにしてもだめですか?
> が、順当な手法と思います。
とありますが、e.cancelはCancelEventArgsですよね?

SelectedIndexChangedイベントは"EventArgs e"という引数を持ちますよね?
それをCancelEventArgsに書き換える、ということなのでしょうか?

まははつねさんの、
>やろうとしていることはtabpageの移動のキャンセルに相当するのでは?
という質問のこたえは、「そうです。tabpageをキャンセルしたいです。」
という答えになるのですが、上記のe.cancel=trueが
それに相当するのですか?

よろしくお願いします。
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -