- ベストアンサー
C# タブのコントロール取得
お世話になります。 FOAM上のコントロールを取得する場合は foreach (Control ctr1 in Controls){ } で取れますが、FOAM上のTabControlにADDしてあるコントロールを取得することができませんでした。 タブコントロールまでは取得できますが…。 タブ上に配置してあるオブジェクトを取得するには どのようにしたらよいのでしょうか? お知恵を拝借できればと思います。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- himajin100000
- ベストアンサー率54% (1660/3060)
関連するQ&A
- VB.Net Tabコントロール中のすべてのタブで
お世話になります。 Visual Studio 2012 を Windows 7 64Bit にて使用しております。 Tabコントロールの全てのタブのタグ(Tag) に値を設定しており、変数と各タブページに格納してあるTag の値が一致したら、そのタブページのインデックスを取得できればと思っておりますが、 For Each Next 文にてそれをどう実現すればいいか困っております。 以下の文は プロパティ的にはめちゃくちゃですが、ニュアンスとして、こんな感じで実現できればと思っております。 指定タブコントロールの全てのタブの中でTagの値が 123 のタブがあったら、そのタブインデックスを取得する Dim Flg As Integer = 0 For Each TabPage In Me.TabControl1.TabPages If TabPage.Tag = 123 Then Flg = TabPage.Index() Exit For End If Next 何卒よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- デルファイ TabControl タブの追加
ターボデルファイです。 TabControlをフォームに置いたのですが、デフォルトはタブ1枚でみたいで、タブの追加はどうするのでしょか? ヘルプファイルには、個別のタブは「TabPage オブジェクト」とありますが、これがどこにあるかわかりません。 「TabControl の主要プロパティは TabPages 」ともありますが、これもどこにあるのか、見当たりません。
- ベストアンサー
- その他(プログラミング・開発)
- 【VB】タブ切り替え時のイベント
いつもお世話になります。バージョンはVB2005です。 フォームにTabControlを配置し、適当にタブ(TabPage1~3)を追加しています。 それぞれのタブを切り替えたときに発生するイベントがわかりません。(><) Clickイベント、CursorChangedイベント、Gotfocusなどなどいろいろ試してみましたが駄目でした。 おわかりの方、どうかご教授ください。
- ベストアンサー
- Visual Basic
- C# 複数コントロールへの一括処理
フォーム上に多数のコントロールがあり、そのコントロールの名前は連番になっています。 コントロールに対して一括して処理を行いたいのです。 例えばbutton1~10まで、フォーム内に対しては下記のコードでいけました。 for (int index = 1; index <= 10; index++) { ((Button)this.Controls[string.Format("button{0}", index)]).Text = "AAAAAAAAA"; } これをタブコントロール内にすべて入れ、下記のようにコードを書き換えました。 for (int index = 1; index <= 10; index++) { ((Button)tabControl1.Controls[string.Format("button{0}",index)]).Text = "AAAAAAAAA"; } しかし「System.NullReferenceException」のエラーが出ます。 何が間違っていますか?
- ベストアンサー
- C・C++・C#
- 【C#】動的に作成した、TABへのイベント設定
始めまして、質問をお願い致します。 ある明細行をクリックすると、TAB形式の一覧を表示します。 明細行に紐づくデータの単位にTAB表示させたいので、以下のコードをループさせ、動的にTABの生成をすることが出来ました。 this.tabControl1.Controls.Add(testTabPage[i]); TABがクリックされた際、個別にデータをDBより取得して表示したいのですが、TABごとのイベント設定方法がわかりません。 動的に作成したTABへ、クリックした際のイベント設定方法を、ご教示頂けませんでしょうか。 また、TABコントロールの参考になるサイト等も教えて頂ければ幸いです。 ----------- |明細クリック| ----------- ↓ ----------------- | tab1 | tab2 | tab3 | --------------------------- | データ | |--------------------------| | データ | |--------------------------| | データ | |--------------------------| どうぞ、宜しくお願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- ページに乗っているコントロールの一覧を取得するコー
タブコントロールのページに乗っているコントロールの一覧を取得するコードを教えてください。 あくせすです。 1ページ目には、コマンドボタン、テキストボックスが乗っています。 それを取得したいです。 2ページ目には違うコントロールが乗っています。 2ページ目のコントロールは取得したくないです。 http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200911/09110001.txt を参考に、 Sub test() For Each tabctl As TabPage In TabControl1.TabPages For Each ctl As Object In tabctl.Controls If ctl.Name.toString.IndexOf("TextBox") > -1 Then Dim tb As TextBox tb = DirectCast(ctl, TextBox) End If Next Next End Sub にしましたが構文エラーになってしまいました。 VB.NETのコードだからですよね。 VBAのコードをご教授いただけますか。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- タブコントロール上のピクチャーコントロールへの描画
お世話になっております。 VC2005を使用しております。 SDIベースです。 ダイアログを作成し、その上にタブコントロール(2ページ)を作成しました。 タブコントロールの1ページ目にピクチャーコントロールを配置し、ピクチャーコントロール上に描画を行おうと思うのですが、正常に動作しません。 OnPaintの中で描画を行っているのですがだめのようです。 タブコントロール外に、ピクチャーコントロールを配置すると描画する事ができます。 どのような、タイミングで描画を行えばよいのでしょうか? 教えてください。 よろしくお願いします。
- ベストアンサー
- C・C++・C#
- Access VBAでタブコントロールで選択するタブをしていするには。
Access VBAでタブコントロールで選択するタブをしていするには。 Access のフォーム上に,「ページ1」「ページ2」「ページ3」タブを配置しました。その横にボタンを3個配置して,ボタンクリックでそれぞれ対応するタブを選択(クリックしたのと同じ状態に)させたいのですが,どなたか方法を知りませんか? よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- C# 動的に読み込んだコントロールの削除
C#にて動的に読み込んだ不特定多数のコントロールを削除する正しい手順は どのような物でしょうか。 MSDNによるとコンテナに読み込んだコントロールをFlowLayoutPanel.Clear()で クリアするとメモリリークにつながるため、Dispose()をしろとあります。 動的に作成したコントロールが不特定多数のため、Foreach文をつかい FlowLayoutPanel.Controlsで確認できた物をDispose()しましたが、偶数indexの コントロールしか削除されませんでした。 まぁ、これはなんとなく分かるのですが、では、正しくすべてのコントロールを 削除するにはどうしたら良いのか分かりません。 ご教示のほど、よろしくお願いいたします。 確認コード(空のForm1_Loadに貼り付け) ※現象を再現させるためのサンプルで意味はありません // コントロール配置用のコンテナ FlowLayoutPanel panel = new FlowLayoutPanel(); panel.Dock = System.Windows.Forms.DockStyle.Fill; this.Controls.Add(panel); // テストコントロール追加ボタン Button create = new Button(); create.Size = new Size(50, 25); create.Text = "create"; create.Click += (ss, ee) => { for (int i = 0; i < 100; i++) { TextBox text = new TextBox(); text.Size = new Size(50, 25); text.Text = i.ToString(); panel.Controls.Add(text); } }; panel.Controls.Add(create); // コントロール削除ボタン Button delete = new Button(); delete.Size = new Size(50, 25); delete.Text = "delete"; delete.Click += (ss, ee) => { foreach (var control in panel.Controls) { if (control is TextBox) { ((TextBox)control).Dispose(); } } }; panel.Controls.Add(delete);
- ベストアンサー
- C・C++・C#
- コントロールが配列かどうかを知るには?
Visual Basic6.0(SP5)で伺いたいことがあります。 フォーム上の全てのオブジェクトを For Each文で取得しています。以下の様にです。 Dim Control As Object For Each Control In Form1.Controls If TypeOf Control Is Text Then End If Next Control このとき個々のControlがコントロール配列かどうかを知りたいのですが、どうすればよろしいでしょうか?フォーム上にはコントロール配列のオブジェクトも、コントロール配列ではないオブジェクトもあります。 Control.Indexの値を参照しようとしても、コントロール配列でない場合は 「配列ではないオブジェクトです」とエラーになります。 IsArray関数でもFalseになってしまいます。 何を行いたいかというと、そのControlがコントロール配列(Text1(0)とかText1(1)とか)かどうかを調べて、そのIndexをある関数の引数にしたいのです。全てコントロール配列だったら、Control.Indexで値を取得できるのですが。 よろしくお願いします。
- ベストアンサー
- Visual Basic
お礼
回答ありがとうございます ADDしてあるところで見るのですね! 解決しました m(_"_)m