• ベストアンサー

vb .net TabControlの制御

vb .net系 Windows アプリケーション TabControlのTabPageを画面操作では変更できないようにしたいです。 可能でしょうか? TabPage上のTextBoxなどには入力可能な状態だけど、TabPageは変更できない。 という状態にしたいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

TabControlのタブを選択できないようにする http://dobon.net/vb/dotnet/control/tabdisabledpage.html を参考にして。

webuser
質問者

お礼

有難う御座います。 Selectingを使う方法を試しました。 'TabControl1のSelectingイベントハンドラ Private Sub TabControl1_Selecting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TabControlCancelEventArgs) Handles TabControl1.Selecting  '2番目のタブを選択できないようにする  If e.TabPageIndex = 1 Then   e.Cancel = True  End If End Sub 特定のタブへの移動を禁止するのではなく、 手動クリックでのタブ移動は全て禁止はするが、 Me.TabControl1.SelectedIndex = 1 のようにPGM内での入力はOK という状態にしたかったのですが、 Private Sub TabControl1_Selecting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TabControlCancelEventArgs) Handles TabControl1.Selecting  e.Cancel = True End Sub こうしたら、一切動かなくなって困りました。 仕方なく、フラグをかまして Friend FrdBooTabControl1 As Boolean Private Sub TabControl1_Selecting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TabControlCancelEventArgs) Handles TabControl1.Selecting  ' サブを通して来た時以外はキャンセルする  If Not FrdBooTabControl1 Then   e.Cancel = True  End If End Sub サブから呼び出したときだけ切り替わるようにしました ''' <summary> ''' TabPageの切り替えを一時許可してSelectedIndexをセット ''' </summary> ''' <param name="p01"></param> ''' <remarks></remarks> Private Sub SubChngTabControl1(ByVal p01 As Integer)  FrdBooTabControl1 = True  Me.TabControl1.SelectedIndex = p01  FrdBooTabControl1 = False End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click  ' Me.TabControl1.SelectedIndex = 1  SubChngTabControl1(1) End Sub うまくいきました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VB.NETのTabControlについて

    VB.NETでプログラミングをしております。 TabControlを聞かない様にするには、どうすれば良いのでしょうか ? 1つ目のタグや2つ目のタグと固定にしたいのです。 但し、Tabの中のTextBoxの入力等はしたいのです。 宜しくお願い致します。

  • VB.NET2003でのTABControlイベントについて

    TabControlの処理について教えて下さい。 TabControlの外に貼り付けたTextBoxの内容が変更された場合、タブのページを変える前に問い合わせのメッセージを表示したいのですがうまくいきません。 具体的には、TabControlのSelectedIndexではページが変わった後にイベントが発生するので遅いのです。また、TabPageのValidatingでは、タブ上のコントロールにフォーカスが当たっていないとイベントすら発生しないし... アドバイスをよろしくお願いします。

  • VB2005でのTabControlについて

    VB2005でTabControlを使用しているのですが、 タブ部分にフォーカスを移し、尚かつクリックした時のように四角い点線でフォーカスを移したタブを囲うにはどうしたらよいのでしょうか? 単にフォーカスを合わせるだけなら Me.TabPage1.Focus() と書くだけで良かったのですが、どうにも点線がつきません。 分かる方がいらっしゃいましたらご回答宜しくお願い致します。

  • TabControlのTabPageの表示位置

    VB2008初心者です。VB6のシステムを作り替えています。 VB2008のTabControlでTabPageの表示位置について教えて下さい。 TabControlのプロパティに下記の設定を行いました。 Defaultで表示されているTabPage1,TabPage2を削除した後に 24個(4行×6行)のTabPageの追加を行いましたが TabPage1が最下行にあるのを最初の行に表示させることは できないのでしょうか? Aligment=TOPで表示される順序をそのまま Bottomに表示させたいです。 Aligment=Bottom Appearance=Buttons Multiline=True SizeMode=Fixed

  • TabControlのページサイズ

    こんにちは。 VS2008+C#+.NetFramework3.5でWindowsフォームアプリケーションを書いています。 TabControlのTabPageいっぱい、同じ位置に複数のPanelを作成し、条件によって表示するPanelを切り替えようとしています。 ここで、TabPageいっぱいのPanelを作成する方法で悩んでいます。 とりあえず、現在の環境では、 panel.Width=tabControl.DisplayRectangle.Size.Width; panel.Height=tabControl.DisplayRectangle.Size.Height - tabControl.ItemSize.Height; で、計算はできているようなのですが、タブの数や表示方法、ユーザーの設定などが変わった場合にも問題がないのか不安です。 果たしてこの方法で大丈夫なのでしょうか。 OSはXP以降を想定しています。よろしくお願いします。 #最近どなたかの質問にもありましたが、こういった質問の場合、.NetFrameWorkのカテが欲しいですね。

  • VB2010のタブコントロールイベントについて

    表示されているTabPageによって処理を分けたいのですが、以下のコードでうまくいきません。 どう修正したらよろしいでしょうか? 教えてください。お手数をおかけしますがよろしくお願いいたします。 '適用ボタンを押す Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'タイトル(TabPage1) If Me.TabControl1.TabIndex = 1 Then グラフタイトル = Me.TextBox1.Text X軸タイトル = Me.TextBox2.Text Y軸タイトル = Me.TextBox3.Text Call グラフタイトル設定() End If '色と線(TabPage2) If Me.TabControl1.TabIndex = 2 Then 線の太さ = Me.TextBox12.Text Call グラフ線設定() End If '軸(TabPage4) If Me.TabControl1.TabIndex = 4 Then Y軸最小値 = Me.TextBox4.Text Y軸最大値 = Me.TextBox5.Text Y軸目盛間隔 = Me.TextBox6.Text Y軸補助目盛間隔 = Me.TextBox7.Text X軸目盛間隔 = Me.TextBox8.Text X軸ラベル間隔 = Me.TextBox9.Text Call グラフ軸設定() End If End Sub

  • TabControlでフォームを呼び出す方法

    TabControlで複数のタブを追加し それぞれのタブを切り替えたときの タブの内容に別のフォームを入れたいのですが やり方がまったくわからない状態です。 VB.NETについてはある程度触れるので それらしき事でもいいのでアドバイスくださいませ。

  • TabPageの表示順を変えるには

    VB2005でTabControlを使っています。TabControlに複数のTabPageがあり、実行時にその順番を入れ替えたいと思っていますが、そのようなことは可能でしょうか?どなたかご教授願えないでしょうか?よろしくお願い致します。

  • 複数のtabcontrol 選択式

    VB2008を使用しています。 Tabcontorol1のTabpage1の内訳をTabcontorol2で選択するフォームを考えています。 TabContorol 1が選択されている場合とtabcontrol2が選択されている場合で条件分岐を 使用したいのですが、判断の式はどのようなものになるのでしょうか? if (この部分の式) then if TabControl1.SelectIndex=1 then 処理1   EndIf if TabControl2.Selection.Index =1 Then 処理2 EndIf EndIf フォームのイメージとしては下記のようになります。 担当エリア 担当者 担当機種   <- TabContorol1 エリア1 エリア2 エリア3       <- TabControl2 担当エリア タブページを選択するとエリアが表示されます。 webで探した限りですが、こういった使用方法がまずは間違えているかもしれません。 既存のシステムの修正上、この方法が都合がよかったもので質問させていただきました。 基本的な質問であるとは思いますが、お力を貸していただきたくよろしくお願いします。

  • 【VB】タブ切り替え時のイベント

    いつもお世話になります。バージョンはVB2005です。 フォームにTabControlを配置し、適当にタブ(TabPage1~3)を追加しています。 それぞれのタブを切り替えたときに発生するイベントがわかりません。(><) Clickイベント、CursorChangedイベント、Gotfocusなどなどいろいろ試してみましたが駄目でした。 おわかりの方、どうかご教授ください。

Windows Updateができない
このQ&Aのポイント
  • 富士通FMVA53D1のWindows 10 Home (バージョン1909)を使用している子供のパソコンですが、Windows Updateができなくなりました。
  • 数か月前にWindows Update中にパソコンを強制終了してしまったことが原因かもしれません。
  • 現在の状況は、更新プログラムのチェックをしても更新ファイルはないと表示されますが、パソコン上では最新ではないと表示されています。パソコンの初期化や他の対処方法があればアドバイスをお願いします。
回答を見る