C# 鼠标悬停时按钮上发生的某些自动刷新问题
我最近一直在开发一个windows应用程序。它是由几个类组成的,这些类基本上把一个图像画在一起。完成后,我制作了两个按钮,其中一个单击事件改变了绘制对象的一些颜色 包括按钮在内,一切正常,但我的问题是,每次我用鼠标悬停在按钮上方时,窗体似乎都会刷新(它会闪烁一次)。当然,我只希望表单在单击按钮后刷新,而不是悬停 我希望我能清楚地解释我的问题 我不确定该给你哪段代码。但这是我的主要申请表:C# 鼠标悬停时按钮上发生的某些自动刷新问题,c#,windows,graphics,C#,Windows,Graphics,我最近一直在开发一个windows应用程序。它是由几个类组成的,这些类基本上把一个图像画在一起。完成后,我制作了两个按钮,其中一个单击事件改变了绘制对象的一些颜色 包括按钮在内,一切正常,但我的问题是,每次我用鼠标悬停在按钮上方时,窗体似乎都会刷新(它会闪烁一次)。当然,我只希望表单在单击按钮后刷新,而不是悬停 我希望我能清楚地解释我的问题 我不确定该给你哪段代码。但这是我的主要申请表: using System; using System.Collections.Generic; using
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Kruispunt
{
public partial class Kruispunt : Form
{
private Oversteekplaats autoNZ, autoOW, fietsNZ, fietsOW, zebraNZ, zebraOW;
private Oversteekplaats[] oversteekplaatsen = new Oversteekplaats[6];
private CPU cpu = new CPU();
private Button NZknop = new Button();
private Button OWknop = new Button();
private CheckBox storingCheckBox = new CheckBox();
public Kruispunt()
{
InitializeComponent();
Graphics g = Graphics.FromHwnd(this.Handle);
autoNZ = new Oversteekplaats(300, 300, 200, 200, g, Status.Aan, Color.Green, Orientatie.NZ, Soort.Auto);
autoOW = new Oversteekplaats(300, 300, 200, 200, g, Status.Aan, Color.Red, Orientatie.OW, Soort.Auto);
fietsNZ = new Oversteekplaats(300, 120, 500, 200, g, Status.Aan, Color.Green, Orientatie.NZ, Soort.Fiets);
fietsOW = new Oversteekplaats(120, 300, 200, 500, g, Status.Aan, Color.Red, Orientatie.OW, Soort.Fiets);
zebraNZ = new Oversteekplaats(300, 120, 620, 200, g, Status.Aan, Color.Green, Orientatie.NZ, Soort.Voetganger);
zebraOW = new Oversteekplaats(120, 300, 200, 620, g, Status.Aan, Color.Red, Orientatie.OW, Soort.Voetganger);
oversteekplaatsen[0] = autoNZ;
oversteekplaatsen[1] = autoOW;
oversteekplaatsen[2] = fietsNZ;
oversteekplaatsen[3] = fietsOW;
oversteekplaatsen[4] = zebraNZ;
oversteekplaatsen[5] = zebraOW;
storingCheckBox.Text = "Kruispunt in storing";
storingCheckBox.Location = new Point(20, 15);
storingCheckBox.Size = new System.Drawing.Size(150, 25);
this.Controls.Add(storingCheckBox);
NZknop.Text = "Noord-Zuid Groen";
NZknop.Location = new Point(20, 40);
NZknop.Size = new System.Drawing.Size(110, 25);
NZknop.Click += new EventHandler(NZknop_Click);
this.Controls.Add(NZknop);
OWknop.Text = "Oost-West Groen";
OWknop.Location = new Point(20, 70);
OWknop.Size = new System.Drawing.Size(110, 25);
OWknop.Click += new EventHandler(OWknop_Click);
this.Controls.Add(OWknop);
}
void NZknop_Click(object sender, EventArgs e)
{
cpu.groenNoordZuid(ref oversteekplaatsen);
this.Refresh();
}
void OWknop_Click(object sender, EventArgs e)
{
cpu.groenOostWest(ref oversteekplaatsen);
this.Refresh();
}
private void Kruispunt_Paint(object sender, PaintEventArgs e)
{
autoNZ = oversteekplaatsen[0];
autoOW = oversteekplaatsen[1];
fietsNZ = oversteekplaatsen[2];
fietsOW = oversteekplaatsen[3];
zebraNZ = oversteekplaatsen[4];
zebraOW = oversteekplaatsen[5];
autoNZ.teken();
autoOW.teken();
fietsNZ.teken();
fietsOW.teken();
zebraNZ.teken();
zebraOW.teken();
}
private void Kruispunt_Load(object sender, EventArgs e)
{
}
}
}
WinForms?WPF?你有密码吗?例如,单击处理程序、XAML/Designer.cs?WinForms?WPF?你有密码吗?例如,单击处理程序,XAML/Designer.cs?