2017-10-26 12 views
-1

テキストボックスとリストボックスを使用するユーザーコントロールがあります。リストボックスは表示されません。ユーザーが入力を開始したり、テキストボックス内をクリックしたりすると表示されます。コントロールを前面に表示

フォーム上にあるグループボックスにユーザーコントロールを追加しました。

今、リストボックスが表示されると、グループボックス内にとどまり、完全な高さを見ることができません。私はそれが全高を見ることができるように一番上に浮かべていません。

私は周りを見回し、いくつかのソリューションを実装しましたが、何も私のために働いていませんでした。

ユーザ制御

namespace YarCustomControl 
{ 
    public partial class YarCustom : TextBox 
    { 
     public YarCustom() 
     { 
      InitializeComponent(); 

      _code = ""; 
      _id = -1; 

      //list box handling 
      listBox = new ListBox(); 
      listBox.Visible = false; 
      listBox.Font = this.Font; 
      listBox.Location = this.Location; 
      listBox.BorderStyle = BorderStyle.Fixed3D; 
      listBox.Resize += new EventHandler(listBox_Resize); 
      //listBox.SelectedValueChanged += new EventHandler(listBox_SelectedValueChanged); 
      listBox.KeyDown += new KeyEventHandler(listBox_KeyDown); 
      listBox.Click += new EventHandler(listBox_Click); 

      //test => no affect on listbox 
      this.Controls.Add(listBox); 

      listBox.Visible = false; 

     } 
} 
} 

以下の方法のコンストラクタは、リストボックスが表示させます。どちらSetchildIndex(コメントとコメントしていない)投げるエラー

private void makeListBoxVisible() 
     { 
      Form parentForm = (this.FindForm() as Form); 

      //parentForm.Controls.SetChildIndex(listBox, 0); 
      this.Controls.SetChildIndex(listBox, 0); 
      listBox.Visible = true; 
      listBox.BringToFront(); 
     } 

enter image description here

このような何かを処理するための最善のアプローチは何ですか?

私の環境はVS2010とWinFormsです。

+1

なぜあなたは模倣しているように見えるComboBoxを使用しないのですか? – LarsTech

+0

現在の状況に近いものを作成して問題が発生しています。 –

+0

この方法で試すことができます:[C#Winformsのドロップダウン情報ボックスの作成方法](https://stackoverflow.com/a/21289062/719186) – LarsTech

答えて

0

ここで、リストボックスが表示されると、グループボックス内に残ります( )、フルハイトは表示されません。私は上に浮かぶことはできませんので、私は フル高さを参照してください。

フォームに直接入力するだけです。

+0

できません。ソースコードを持たず、特定の問題に直面している現在のコントロールを置き換えます。 –

関連する問題