ステータスフィールドに表示されるカスタムホバーが必要なアプリケーションに40個のボタンがあります。特定のメッセージを追加する機能と削除する機能を用意しています。そのため、ホバーすると機能を呼び出し、ボタンを離したままにします。ボタンがホバーされているかどうかをチェックしてメッセージを出力する方法
私は40種類のメッセージが必要ですが、その1つの方法は、どのボタンがマウスによって覆われているかを確認することです。
if(button1.hovered == true){
string message = "scenario1";
}
elseif(button2.hovered == true){
scenario2...etc
}
ホバリングされているかどうかを確認する方法はありますか? if文でチェックしますか?
iveもっと多くの情報を追加することに決めたので、私の要点を簡単に得ることができます。
マウスフーバーのときにリストビューにメッセージを追加します。リストボックスから
void messAdd(object sender, EventArgs e)
{
string now = DateTime.Now.ToString("M/d/yyyy") + " - " + DateTime.Now.ToString("HH:mm:ss tt");
string message = "message 1";
found = false;
ListViewItem item = new ListViewItem(message);
foreach (ListViewItem z in listView1.Items)
{
if (z.Text == message)
{ found = true; }
}
if (found == false)
{
item.SubItems.Add(now.ToString());
listView1.Items.Add(item);
listView1.EnsureVisible(item.Index);
}
else
{
DeleteIfNecessary(message);
}
}
削除メッセージマウス休暇:
void messdel(object sender, EventArgs e)
{
string message = "message 1";
found = false;
ListViewItem item = new ListViewItem(message);
foreach (ListViewItem z in listView1.Items)
{
if (z.Text == message)
{ found = true; }
}
if (found == true)
{
DeleteIfNecessary(message);
}
}
私は各ボタンのこれらの関数の4を作ることができますが、私は40件の異なるメッセージ、愚かなイエスを必要とするので、それに方法はありません関数を介してメッセージの引数を送信するので、私はifテストを使用し、魔法使いのボタンを確認し、その指定されたボタンにメッセージを出力する必要があります。と私はビジュアルスタジオとWindowsフォームを使用して、申し訳ありませんが記載されています。
WPF:推移しているボタンをチェックすると
、あなたはswitchステートメントを使用できますか? Winforms? WebForms? Silverlight? WP7?地下鉄? – Oded
Webフォームの場合、HoverMessageプロパティを持つ独自の派生Buttonクラスを作成し、MouseHoverイベントにアタッチしてメッセージを設定できます。 (その後、MouseLeaveイベントで元に戻す) – Balthy
申し訳ありません。 winforms im on :) – 1244