如何在启用视觉样式的情况下将控件呈现为ComboBox?我有一个以ComboBox为模型的控件。我想呈现控件,以便控件边框看起来像标准的WindowsComboBox。具体来说,我遵循了MSDN文档,并且控件的所有呈现都是正确的,除非控件被禁用。需要明确的是,这适用于启用了视觉样式的系统。此外,控件的所有部分都正确呈现,除了禁用控件周围的边框,它与禁用的ComboBox边框颜色不匹配。我正在使用VisualStyleRenderer类。MSDN建议对ComboBox控件的TextBox部分使用VisualStyleElement.TextBox元素,但标准禁用的TextBox和标准禁用的ComboBox的绘制略有不同(一个具有浅灰色边框,另一个具有浅蓝色边框)。如何在禁用状态下正确呈现控件?我不是100%确定这是否是您要查找的内容,但您应该检查System.Windows.Forms.VisualStyles命名空间中的VisualStyleRenderer。VisualStyleRenderer类(MSDN)如何:呈现视觉样式元素(MSDN)VisualStyleElement.ComboBox.DropDownButton.Disabled(MSDN)如果用户未启用视觉样式(他/她可能正在运行“经典模式”或WindowsXP),VisualStyleRenderer将不起作用,您应该始终回退到ControlPaint类。//创建渲染器。如果(VisualStyleInformation.IsSupportedByOS&&VisualStyleInformation.IsEnabledByUser){renderer=newVisualStyleRenderer(VisualStyleElement.ComboBox.DropDownButton.Disabled);}然后在绘制时执行此操作:if(renderer!=null){//使用视觉样式渲染器。}else{//使用ControlPaint渲染器。}希望这可以帮助!是否有对此有用的ControlPaint方法?这是我通常用于自定义渲染控件的内容。以上是C#学习教程:HowtorenderthecontrolasaComboBoxwithVisualStylesenabled?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
