2016-09-05 8 views
2

私はコマンドのリストを持つテキストボックスとのインターフェイスを持っています、そして、ユーザーがテキストボックスにマウスを置いたときにこのリストを表示したいと思います。ラベルでテキストボックスの上にメッセージを得る方法

私は、ラベルにメッセージを置くことができますが、私はそれを取得する方法をここで

は本当に良いではないに見え、それが最善の方法ではないようだと、同じ:

enter image description here

たぶんあなたはアドバイスを私にそれを表示するいくつかのより良い方法、また非常に興味深いかもしれません

+7

[ツールヒント](https://msdn.microsoft.com/en-us/library/he23h308(v = vs.110).aspx)を使用できます。 –

+0

@Reza Aghaeiだからこれは私が推測する答えです –

+0

はい、答えです:) –

答えて

1

としてはすでにToolTipを使用していたと述べた。ここではあなたがそれを行うことができます方法は次のとおりです。

リストを作成して返す:

のTextBoxの Enterイベントにツールチップを表示する
static List<string> PopulateList() 
{ 
    List<string> mylist = new List<string>(); 
    mylist.Add("insert (a1) to get this"); 
    mylist.Add("insert (a2) to get this"); 
    mylist.Add("insert (a3) to get this"); 
    mylist.Add("insert (a4) to get this"); 
    ... 
    ... 
    return mylist; 
} 

private void textBox1_Enter(object sender, EventArgs e) 
{ 
    string tooltiptext = ""; 
    List<string> mylist = PopulateList(); 
    foreach (string listitem in mylist) 
    { 
     tooltiptext += listitem + "\n"; 
    } 
    ToolTip tt = new ToolTip(); 
    tt.Show(tooltiptext, textBox1, 2000); 
} 

結果:

tooltip

+2

通常、あなたは 'ToolTip'のインスタンスを複数必要としません。現在、あなたはコントロールの 'Enter'イベントで' ToolTip'の複数のインスタンスを作成しましたが、これは良い考えではありません。また、コードに 'ToolTip'を作成したいときは、' Dispose'することを忘れないでください。設計時に 'ToolTip'を作成するだけです。 [なぜUI以外のWindows.Formsコンポーネントをデザイナーから挿入するのですか?](http://stackoverflow.com/questions/32800751/why-should-i-insert-a-non-ui-windows -forms-component-from-the-designer) –

+1

@RezaAghaei確かに、私は心に留めておく:) –

関連する問題