[Mono-bugs] [Bug 417962] WS_EX_COMPOSITED does not remove flashing
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Thu Sep 11 14:08:11 EDT 2008
https://bugzilla.novell.com/show_bug.cgi?id=417962
User kobruleht2 at hot.ee added comment
https://bugzilla.novell.com/show_bug.cgi?id=417962#c4
--- Comment #4 from andrus moor <kobruleht2 at hot.ee> 2008-09-11 12:08:11 MDT ---
I created new testcase below which uses double buffering for everything.
This removes flashing in MONO.
However it does not remove flashing in .NET.
If comments are removed from line
tabPage1.Layout += tabPage1_Layout;
old scrollbar and position are strangely visible during resize.
It seems that SuspendLayout() is not working in MONO. Should I create separate
bug for this?
using System;
using System.Windows.Forms;
using System.Collections.Generic;
using System.Drawing;
public class Test
{
static void Main()
{
Application.Run(new ReportDialogForm());
}
}
class ReportDialogForm : Form
{
public ReportDialogForm()
{
DoubleBuffered = true;
tabControl1 = new BufferedTabControl();
tabPage1 = new BufferedTabPage();
reportListBox = new BufferedListBox();
tabControl1.Dock = DockStyle.Fill;
tabControl1.Controls.Add(tabPage1);
tabPage1.Controls.Add(reportListBox);
//tabPage1.Layout += tabPage1_Layout;
reportListBox.Dock = DockStyle.Fill;
Controls.Add(tabControl1);
for (int i = 0; i < 100; i++)
reportListBox.Items.Add("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM");
}
class BufferedListBox : ListBox
{
internal BufferedListBox()
{
DoubleBuffered = true;
}
}
class BufferedTabControl : TabControl
{
internal BufferedTabControl()
{
DoubleBuffered = true;
}
}
class BufferedTabPage : TabPage
{
internal BufferedTabPage()
{
DoubleBuffered = true;
}
}
void tabPage1_Layout(object sender, LayoutEventArgs e)
{
SuspendLayout();
int height = 100;
reportListBox.Top = height;
reportListBox.Height = tabPage1.Height - height;
reportListBox.Width = tabPage1.Width / 2;
reportListBox.Left = 0;
ResumeLayout();
}
BufferedTabControl tabControl1;
BufferedTabPage tabPage1;
BufferedListBox reportListBox;
}
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the mono-bugs
mailing list