我在C#(VS2010)中创建了一个表单,其中包含(除其他外)文本框控件。文本框有时可能包含大量数据(约300万个字符)。当滚动或移动表单时没有遇到任何问题,但是当表单最小化并再次恢复时,会触发重绘序列(我相信),这会导致表单延迟大约5-10秒重新粉刷。我已经尝试过几种解决方案:使用双缓冲——根据我的阅读,双缓冲只适用于表单本身而不适用于它的控件this.SetStyle(ControlStyles.DoubleBuffer,true);this.SetStyle(ControlStyles.AllPaintingInWmPaint,true);this.SetStyle(Contro
我在C#中使用Windows窗体,我需要使文本框的背景颜色透明。我有一个从0到255的轨迹栏,应该可以控制它,但我遇到了一些麻烦。我今天早些时候创建了一个问题,询问完全相同的事情,但没有成功。这是我目前拥有的代码:privatevoidtrackAlpha_ValueChanged(objectsender,EventArgse){newColor=Color.FromArgb(trackAlpha.Value,colorDialog.Color.R,colorDialog.Color.G,colorDialog.Color.B);colorDialog.Color=newColor;
我已经做了几天了,这让我抓狂。我有一个继承自System.Windows.Forms.Panel的控件,我正试图覆盖OnPaint。它很简单,完全忽略了它。publicclassCollapsiblePanel:System.Windows.Forms.Panel{publicCollapsiblePanel(){////RequiredfortheWindowsFormDesigner//InitializeComponent();////TODO:AddanyconstructorcodeafterInitializeComponentcall//SetStyle(ControlS
我将此添加到表单的构造函数代码中:this.SetStyle(ControlStyles.AllPaintingInWmPaint|ControlStyles.UserPaint|ControlStyles.DoubleBuffer,true);但是当它加载控件时,只要它们发生变化(表单及其组件经常变化(需要更新)),它仍然会显示丑陋的工件。我需要做哪些不同的事情? 最佳答案 这只会影响表单本身,不会影响子控件。如果它们很多,那么它们轮流绘制自己的时间就会变得很明显,它会在控件所在的位置留下一个矩形孔,该孔在子控件轮到它之前不会被填
我将此添加到表单的构造函数代码中:this.SetStyle(ControlStyles.AllPaintingInWmPaint|ControlStyles.UserPaint|ControlStyles.DoubleBuffer,true);但是当它加载控件时,只要它们发生变化(表单及其组件经常变化(需要更新)),它仍然会显示丑陋的工件。我需要做哪些不同的事情? 最佳答案 这只会影响表单本身,不会影响子控件。如果它们很多,那么它们轮流绘制自己的时间就会变得很明显,它会在控件所在的位置留下一个矩形孔,该孔在子控件轮到它之前不会被填