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

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

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

Re[1]: タブコントロールに関して


(過去ログ 58 を表示中)

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

■33002 / inTopicNo.1)  タブコントロールに関して
  
□投稿者/ 破戒録 (1回)-(2009/02/18(Wed) 17:19:35)

分類:[C#] 

環境:Microsoft Visual Studio .Net 2003
言語:C#(Windows アプリケーション)

お世話になります。
タブコントロールに関して質問がございます。

画面にある1つのタブコントロール内に、[新規][更新][削除]の3タブページがあります。

画面起動のタイミングで、[更新][削除]ページを選択できなくする方法がわかりません。

どなたかご存じの方いらっしゃいましたら、ご教授をお願い致します。
引用返信 編集キー/
■33003 / inTopicNo.2)  Re[1]: タブコントロールに関して
□投稿者/ はつね (949回)-(2009/02/18(Wed) 17:26:29)
はつね さんの Web サイト
No33002 (破戒録 さん) に返信
> 画面起動のタイミングで、[更新][削除]ページを選択できなくする方法がわかりません。

方法1:
IDEで更新と削除のタブのEnabledプロパティをFalse

方法2:
Loadイベントに対応するイベントプロシージャを作成し、その中で更新と削除のタブのEnabledプロパティにFalseを代入する


引用返信 編集キー/
■33004 / inTopicNo.3)  Re[1]: タブコントロールに関して
□投稿者/ カドルドエグ (74回)-(2009/02/18(Wed) 17:34:56)
No33002 (破戒録 さん) に返信
> 画面起動のタイミングで、[更新][削除]ページを選択できなくする方法がわかりませんNo33003 (はつね さん) に返信
> ■No33002 (破戒録 さん) に返信
>>画面起動のタイミングで、[更新][削除]ページを選択できなくする方法がわかりません。
> 
> 方法1:
> IDEで更新と削除のタブのEnabledプロパティをFalse
> 
> 方法2:
> Loadイベントに対応するイベントプロシージャを作成し、その中で更新と削除のタブのEnabledプロパティにFalseを代入する
> 
> 
TabPageクラスのプロパティ
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.tabpage_properties(VS.80).aspx
Enableプロパティは無効とあったので、以下のようにしてみました。
飽くまで考え方の一つです。

※当方の環境はVS2005
※フォーム上には3つのタブページを持つタブコントロールが一つ。
 但し、一番前のタブページにボタンが1つある。
namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // 他のタブページが選択できるかどうかを判定するフラグ
        // 「画面起動のタイミングで、[更新][削除]ページを選択できなくする」とのことなので
        // 初期値はFalse
        bool canSelectOtherTab = false;
        private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (!canSelectOtherTab)
            {
                // 強制的に(例えば)先頭タブページへ
                tabControl1.SelectedIndex = 0;
            }
        }
 
        // とりあえずテストとして、ボタンを押すと他のタブページを選択できるようにしました。
        // →実際には、必須項目が入っていたら、とか仕様によって変化しますね。
        private void button1_Click(object sender, EventArgs e)
        {
            canSelectOtherTab = true;
        }
    }
}

引用返信 編集キー/
■33009 / inTopicNo.4)  Re[2]: タブコントロールに関して
□投稿者/ 魔界の仮面弁士 (1001回)-(2009/02/18(Wed) 18:48:33)
No33004 (カドルドエグ さん) に返信
> Enableプロパティは無効とあったので、
一応使えますが、タブのテキスト部を無効化するものでは無いため、
タブは選択できる(その中のコントロールが無効化される)状態ですね。

もし、無効化されたタブのテキストを淡色表示したいのであれば、
DrawItem イベントで描画するという手もあります。

> private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
SelectedIndexChanged ではなく、Selecting イベントで Cancel した方が手っ取り早いかと。
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -