私はコマンドのリストを持つテキストボックスとのインターフェイスを持っています、そして、ユーザーがテキストボックスにマウスを置いたときにこのリストを表示したいと思います。ラベルでテキストボックスの上にメッセージを得る方法
私は、ラベルにメッセージを置くことができますが、私はそれを取得する方法をここで
は本当に良いではないに見え、それが最善の方法ではないようだと、同じ:
たぶんあなたはアドバイスを私にそれを表示するいくつかのより良い方法、また非常に興味深いかもしれません
私はコマンドのリストを持つテキストボックスとのインターフェイスを持っています、そして、ユーザーがテキストボックスにマウスを置いたときにこのリストを表示したいと思います。ラベルでテキストボックスの上にメッセージを得る方法
私は、ラベルにメッセージを置くことができますが、私はそれを取得する方法をここで
は本当に良いではないに見え、それが最善の方法ではないようだと、同じ:
たぶんあなたはアドバイスを私にそれを表示するいくつかのより良い方法、また非常に興味深いかもしれません
としてはすでに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'のインスタンスを複数必要としません。現在、あなたはコントロールの '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) –
@RezaAghaei確かに、私は心に留めておく:) –
[ツールヒント](https://msdn.microsoft.com/en-us/library/he23h308(v = vs.110).aspx)を使用できます。 –
@Reza Aghaeiだからこれは私が推測する答えです –
はい、答えです:) –