アプリケーションに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の異なるメッセージが必要なので、ばかげていますが、関数を介してメッセージ引数を送信する方法がないため、iftestを使用して魔女ボタンをチェックする必要があります次に、その指定されたボタンにメッセージを出力します。Visual StudioとWindowsフォームを使用していますが、言及されていないことをお詫びします。