次の問題があります。特定の色、たとえば赤のパネルがあります。ユーザーがマウスを押すと、このパネルの色が変数に格納されます。次に、ユーザーはマウスを押したまま別のパネルに移動します。そこでマウスを放すと、このパネルは、変数に格納された最初の背景色を取得するはずです。私のコードは次のようになります。
public Color currentColor;
private void ColorPickMouseDown(object sender, MouseEventArgs e)
{
Panel pnlSender = (Panel)sender;
currentColor = pnlSender.BackColor;
}
private void AttempsColorChanger(object sender, MouseEventArgs e)
{
Panel pnl = (Panel)sender;
pnl.BackColor = currentColor;
}
このイベントをトリガーできるパネルが多数あるため、最初に送信者を特定する必要があります。最初の MouseDown メソッドはまったく問題なく機能し、色は変数に適切に格納されています。ただし、ユーザーが上で説明したことを実行しても、2 番目のものはトリガーされません。ser が 2 番目のパネルをクリックすると、機能します (クリックには MouseUp 部分もあると思います)。
ここで何が問題なのですか?ユーザーが以前にマウス キーを押したままにすると、イベントがトリガーされないのはなぜですか?