こんにちは。c#初心者です。
コントロールを制作しているのですが、その途中で「System.Windows.Forms.Splitter」のようにドッキングしているコントロールに対して働き掛ける処理で、そのドッキングしているコントロールを取得する方法が分からず苦戦しています。
視覚化すると、□を現在制作中の「SampleControl」、■を任意の「Control」、■、□共に「Dockプロパティ」が「DockType.Left」とすると、
■□ のように並んでいる際に□内部で■を取得する方法です。
どなたか詳しい方がいらっしゃいましたら教えていただけませんか?
No.1ベストアンサー
- 回答日時:
によるとzオーダーに従って並べられるそうなので、Dock = DockStyle.Left、かつ、zオーダーが自分より大きいコントロールの中で、zオーダーが最小のものが左隣のコントロールになるようです。
少しだけ試してみたところ、Controls を foreach で回すとzオーダーの順で取得できるようなので、
次のようにするとできるようです。(確認が十分ではありません。)
Form f = this.ParentForm;
int myIndex = f.Controls.GetChildIndex(this);
foreach (Control child in f.Controls)
{
if (child.Dock == DockStyle.Left)
{
if (myIndex < f.Controls.GetChildIndex(child))
{
MessageBox.Show(child.Name);
break;
}
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- セキュリティホール・脆弱性 論理的アクセス・コントロールに関する問題で悩んでいます 1 2022/10/08 08:42
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- 発達障害・ダウン症・自閉症 発達障害、感情障害は改善しますか? 7 2023/01/20 23:18
- Excel(エクセル) 別インスタンスのエクセルを制御したい 1 2023/05/10 02:03
- C言語・C++・C# ActiveXコントロールを.NETにインポートできない??? 2 2023/05/02 02:50
- 運転免許・教習所 体も心も健康でないと免許の更新が出来なくて車を運転出来ないのかも、ですか。 認知症にかかられた方も免 1 2023/03/15 01:43
- その他(コンピューター・テクノロジー) PC利用中に勝手に起動する窓を消し去る方法を教えて下さい。 1 2023/05/08 16:48
- 大学受験 大学受験について 3 2022/12/03 11:52
- 歴史学 王権の特権の制限という視点から貴族、ブルジョア、農奴、労働者の「自由」を位置付けると、みんな王のよう 4 2022/07/26 22:11
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル・VBA CheckBoxのオブ...
-
カメラスクロールするのを動画...
-
エクセルVBAでオプションボタン...
-
C#で自分のウインド・ハンド...
-
chr関数の呼び出しで「プロ...
-
excelのリストボックスで選択し...
-
fpSpreadコントロール ライセ...
-
(VBA)スピンボタンの大量...
-
エクセル コントロールツール...
-
ユーザーフォームで動的(Me.Con...
-
Groupboxの配下のコントロール...
-
エクセルVBAユーザーフォーム・...
-
winndws セキュリティ
-
TreeGridView(オープンソース)...
-
ExcelVBAでListViewが使用できない
-
vb.netで画面のコントロールId...
-
Labelコントロールの(左右)余...
-
変数をコントロール型で使用す...
-
複数のコマンドボタン(VBAで)...
-
With~EndWithの省略部分と引数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
全てのオブジェクトのプロパテ...
-
EXCELでactivexコントロールを...
-
エクセルVBAでオプションボタン...
-
vb.netで画面のコントロールId...
-
コンボボックスの文字によるif...
-
ListViewのチェックボックスに...
-
フォーム上の現在アクティブな...
-
変数をコントロール型で使用す...
-
ExcelVBAでListViewが使用できない
-
ユーザーフォームで動的(Me.Con...
-
コントロールを移動できない
-
C#で角が丸いテキストボックス
-
アクセス特有の書き方?
-
間違えて配置してしまったコン...
-
OCXって何ですか?
-
'ckbl' コントロールは作成され...
-
VBAのフォームでTextBoxがいっ...
-
ActiveX DLL と ActiveXコント...
おすすめ情報