カーソルを特定の場所(座標)に移動すると背景画像が変化するアプリケーションを作成したいと思います。例:
私はコードを書きました、それは働きました、しかし私はいくつかの問題を抱えています:
どうすればこれを修正できますか?
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Thread ChangeBackgroundThread = new Thread(ChangeBackground);
ChangeBackgroundThread.Start();
}
private void ChangeBackground()
{
while (true)
{
if (MousePosition.X <= 960)
{
this.BackgroundImage = Image.FromFile(Path.Combine("F:/test", "A.png"));
}
else
{
this.BackgroundImage = Image.FromFile(Path.Combine("F:/test", "B.png"));
}
}
}
}
このようなことを試してみることを検討してください。
private Image ImgA;
private Image ImgB;
private Boolean? BackgroundA = true;
private void Form1_Load(object sender, EventArgs e)
{
ImgA = Image.FromFile(Path.Combine("F:/test", "A.png"));
ImgB = Image.FromFile(Path.Combine("F:/test", "B.png"));
this.MouseMove += Form1_MouseMove;
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
SetBackground();
}
private void SetBackground()
{
Boolean curA = (MousePosition.X <= 960);
if (!BackgroundA.HasValue || BackgroundA.Value != curA)
{
BackgroundA = curA;
this.BackgroundImage = BackgroundA.Value ? ImgA : ImgB;
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加