Привет я пытаюсь сделать панель, которая будет отображаться текст, когда он парил над картиной, и я хочу, чтобы следовать за курсором, так что яКак сделать мою панель остановить мерцающий
System.Windows.Forms.Panel pan = new System.Windows.Forms.Panel();
public Form1()
{
InitializeComponent();
Product p = new Product();
p.SetValues();
this.pictureBox1.Image = (Image)Properties.Resources.ResourceManager.GetObject("pictureName");
}
private void pictureBox1_MouseEnter(object sender, EventArgs e)
{
pan.Height = 200;
pan.Width = 100;
pan.BackColor = Color.Blue;
this.Controls.Add(pan);
pan.BringToFront();
//pan.Location = PointToClient(Cursor.Position);
}
private void pictureBox1_MouseLeave(object sender, EventArgs e)
{
Controls.Remove(pan);
}
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
pan.Location = PointToClient(Cursor.Position);
}
Я попытался добавить this.doublebuffered = true;
, но это только делает его выглядеть есть после того, как изображение панели, когда я двигаю мышь
, когда я наведите курсор мыши на моей картинке он показывает панель, но она мерцает, как сумасшедший это нормально или есть исправление для этого или это проблема с моими компьютерами
Я предполагаю, что панели перерисовываются каждый раз, когда вы перемещаете мышь. Возможно, используйте событие 'MouseHover' (без' MouseMove') и установите [MousHoverTime] (https://msdn.microsoft.com/en-us/library/system.windows.forms.systeminformation.mousehovertime (v = vs .110) .aspx), чтобы убедиться, что это работает. – Chrono
Возможный дубликат [как прекратить мерцание C# winforms] (http://stackoverflow.com/questions/8046560/how-to-stop-flickering-c-sharp-winforms) – LokiSinclair
О, извините, я изменяю действие от зависания до входа Я просто использовал код – Annonymous177