• ベストアンサー

C#、VB.NETのDockプロパティについて

たとえばPanelコントロールのDockプロパティをTOPにした状態で、 後から追加したSplitterコントロールのDockプロパティをTOPにすると、 Panelコントロールの下部に配置されますが、Panelの上部にSplitter を配置してもらうにはどうすればよいでしょうか? TabIndexの順番とは無関係のようですが・・・。

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

  • ベストアンサー
  • mo_gu
  • ベストアンサー率51% (56/109)
回答No.1

そのPanelコントロール上で右クリックして 最前面へ移動を選択してください。

nihon_no_samurai
質問者

お礼

ありがとう!

関連するQ&A

  • VC#2010 splitterで分けたpanel

    こんにちは。 FormにPanelを二つ配置し、Splitterで上下に区切っている状態で、上側のパネルのClientRectangleを取得しているのですが、それの高さが思ったとおりのものがもらえなくて困っています。 説明用に画像を添付しております。 手順としましては、panel1とpanel2をまずフォームに配置し、panel2をFormのBottomにDockします。 次いで、splitterをフォームに配置し、splitterをFormのBottomにDockします。 そして、panel1をFormにFillとしてDockしています。 この時あるメソッドからpanel1を参照し、panel1.ClientRectangle.Size.Heightが、panel1とpanel2のHeightを足した値になってしまっています。 panel1はFormにFillでDockされているから、という仕様なのでしょうか?

  • VisualC#.net TabIndexの設定

    Microsoft Visual C# .NET 2003で、Windowsアプリケーションを作っています。 フォーム上に、テキストボックスですとかプッシュボタンですとか、コントロールがいくつかあります。 実行時にTabキーを押したときの順番(Tabオーダー)は、プロパティの"TabIndex"で決まっていると思うんですが、 あとでコントロールを追加したときなどTabIndexをずらしたり付け替えたりするにはどうすればよいのでしょうか。 1つ1つ付け替えるしかないのでしょうか。

  • c# ドッキングしているコントロールを取得するには

     こんにちは。c#初心者です。  コントロールを制作しているのですが、その途中で「System.Windows.Forms.Splitter」のようにドッキングしているコントロールに対して働き掛ける処理で、そのドッキングしているコントロールを取得する方法が分からず苦戦しています。  視覚化すると、□を現在制作中の「SampleControl」、■を任意の「Control」、■、□共に「Dockプロパティ」が「DockType.Left」とすると、 ■□ のように並んでいる際に□内部で■を取得する方法です。  どなたか詳しい方がいらっしゃいましたら教えていただけませんか?

  • システムのプロパティがひらけません

    システムのプロパティが開けなくて困っています。 マイコンピューターのアイコンを右クリックしてプロパティをくりっくしても何の反応もないじょうたいです。 コントロールパネルににもみあたりません。 どうしたらよいか教えてください!

  • VB .net コントロールのプロパティ設定方法

    Visual Basic 2010を勉強しています。 フォームに貼り付けたコントロールのプロパティの設定についてですが、 今までは、貼り付けた後にプロパティウインドウで直接いじっていました。 (Text、Font、Imageなど...) ですが、知人が書いたコードを見ていると、コードの中で設定しているようなのです。 プロパティウインドウで設定した方が、視覚的にも確認しながら設定できるのでそうしていたのですが、コード内で設定するのと違いはあるのでしょうか?(パフォーマンスやコードの見やすさなど...) 動的にコントロールを配置したい時や、プロパティを変更したい場合にはコード内で操作しますが、初期設定やラベル等の変更することがないようなコントロールに関しては、どちらでも同じような気がするのですが... 実際に皆さんがどうされているのかも気になり、質問させて頂きました。 以上、何卒よろしくお願いいたします。

  • 【VB2005】コントロールのサイズ自動取得

    現在、画面の大きさにより、ラベル、テキストボックス等の コントロールを動的に配置してまして、 画面サイズを適当に変えると、 コントロールの大きさが自動で変更されるのですが、 ボタンを押して、新たにコントロールを配置したときに、 画面が大きい画面なのに、自分で決めた値をそのままコントロールにプロパティを代入して作るために、 画面にあわないコントロールサイズになります。 倍率が判らないために、うまく今の画面にマッチしたコントロールの プロパティ(大きさ、フォント)が設定できません。 どういう方法で自動取得のコントロールを追加できるか、 お知恵を貸してください。

  • C#でパネルに子パネルを上から降順追加したいです。

    図のように"追加ボタン"を押すと親パネル(panel1)に子パネル(panel2)を上から 追加する画面を作りました。(以下がソースです) private void button1_Click(object sender, EventArgs e) { int i = 0; foreach (Panel p in panel1.Controls) { i++; p.Top += 40; } Panel panel2 = new Panel(); createPanel(panel2, i);※子パネルのレイアウトを設定し、確認用の連番をセットしています panel1.Controls.Add(panel2); } 常に親パネルの最上段に子パネルを追加したいのですが、 スクロールバーで親パネルの下のほうで追加ボタンを押すと、 親パネルの表示されている最上段の位置に子パネルが追加されてしまいます。 スクロールバーで親パネルの最下部に移動していても、追加するときは親パネルの(0,0,)の位置に 子パネルを表示させるにはどのように実装したらよいでしょうか? メソッドcreatePanel(panel2, i)の中で、 子パネルのロケーションを0,0に設定してもダメでした。 以上、よろしくお願いいたします。

  • ToolStripコントロールのLocationの値が変更できない

    フォームの最上部にMenuStripを配置し、その後、ToolStripを配置するとToolStripが最上部にきてメニューバーが隠れてしまいます。 メニューバーの下にツールバーを表示させたいんです。 それぞれのコントロールのLocationプロパティで微調整すればよいのですが、ToolStripのLocationプロパティに値を入力しても自動的に0に戻ってしまいます。(MenuStripのLocationプロパティは変更できます) ToolStripのLocationプロパティの値を変更するにはどうすればよろしいのでしょうか。 回答お待ちしております。

  • 構文がわかりません。直訳していただければ。

    タブオーダーの関係です。 To have a Label control lend its hot key to another control on the form, you must assign the Label's TabIndex property a value that is 1 less than the value of the other control's TabIndex property. (和訳) Labelコントロールのホットキーを使用して、フォーム上の別のコントロール(この場合はTextBoxコントロール)にフォーカスを移動できるようにするには、LabelコントロールのTabIndexプロパティに、その(TextBox)コントロールのTabIndexプロパティの値より1だけ少ない値をあらかじめ割り当てなければならない。 (質問) 上の和訳は翻訳専門家によるもので、内容はよくわかりますが、英文[To have a Label control lend its hot key to another control]のかかり受けがわかりません。文法的に直訳してご教授いただければ幸いです。

  • 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);