[Mono-bugs] [Bug 417962] New: WS_EX_COMPOSITED does not remove flashing
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Mon Aug 18 06:49:13 EDT 2008
https://bugzilla.novell.com/show_bug.cgi?id=417962
Summary: WS_EX_COMPOSITED does not remove flashing
Product: Mono: Class Libraries
Version: 2.0
Platform: x86
OS/Version: Windows Vista
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Windows.Forms
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: kobruleht2 at hot.ee
QAContact: mono-bugs at lists.ximian.com
Found By: ---
To reproduce:
1. Run the code
2. Resize window
Observed:
Listbox contents flashes on resize.
Expected:
Listbox contents should not flash.
WS_EX_COMPOSITED should cause form controls to use double buffering.
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
{
protected override CreateParams CreateParams
{
get
{
CreateParams result = base.CreateParams;
result.ExStyle |= 0x02000000; // WS_EX_COMPOSITED
return result;
}
}
public ReportDialogForm()
{
tabControl1 = new TabControl();
tabPage1 = new TabPage();
reportListBox = new ListBox();
tabControl1.Anchor = ((AnchorStyles)((((AnchorStyles.Top |
AnchorStyles.Bottom)
| AnchorStyles.Left)
| AnchorStyles.Right)));
tabControl1.Controls.Add(tabPage1);
tabControl1.Location = new Point(0, 0);
tabControl1.Padding = new Point(0, 0);
tabControl1.SelectedIndex = 0;
tabControl1.Size = new Size(591, 296);
tabControl1.TabIndex = 0;
tabPage1.Controls.Add(reportListBox);
tabPage1.Location = new Point(4, 29);
tabPage1.Margin = new Padding(0);
tabPage1.Size = new Size(583, 263);
tabPage1.TabIndex = 0;
tabPage1.Layout += new LayoutEventHandler(tabPage1_Layout);
reportListBox.Anchor = AnchorStyles.None;
reportListBox.Size = new Size(287, 384);
reportListBox.TabIndex = 1000;
ClientSize = new Size(588, 292);
Controls.Add(tabControl1);
for (int i = 0; i < 100; i++)
reportListBox.Items.Add("MMMMMMMMMMMMMMMMMMMMMM");
Load += new EventHandler(ReportDialogForm_Load);
}
void ReportDialogForm_Load(object sender, EventArgs e)
{
StartPosition = FormStartPosition.Manual;
Location = new Point(10, 10);
ClientSize = new Size(400, 400);
}
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();
}
TabControl tabControl1;
TabPage tabPage1;
ListBox 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.
You are the assignee for the bug.
More information about the mono-bugs
mailing list