您的位置:首页 > 其它

TransparencyKey BUG: 不适用于 32 位颜色模式中双缓冲控件

2008-02-29 18:09 676 查看

TransparencyKey BUG: 不适用于 32 位颜色模式中双缓冲控件

察看本文应用于的产品
function loadTOCNode(){}

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。如果您发现了错误并希望帮助我们提高机器翻译技术,请完成文章末尾的在线调查。

文章编号:820640
最后修改:2007年11月26日
修订:2.7
本页


症状




解决方案




状态




更多信息




Windows 窗体与 WindowsForms 控件




步骤来重现问题Windows 窗体与 WindowsForms 控件




Windows 窗体与用户控件




步骤来重现问题Windows 窗体与用户控件




参考


var sectionFilter = "type != 'notice' && type != 'securedata' && type != 'querywords'";
var tocArrow = "/library/images/support/kbgraphics/public/en-us/downarrow.gif";
var depthLimit = 10;
var depth3Limit = 10;
var depth4Limit = 5;
var depth5Limit = 3;
var tocEntryMinimum = 1;

症状

loadTOCNode(1, 'symptoms');
可能有 Microsoft Windows 窗体与用户控件具有 DoubleBuffer 控件样式位设置为 TRUE。 或者, 可能将 MicrosoftWindows 窗体控件 (例如 Button、 PictureBox、 CheckBox 或标签) 与 DoubleBuffer 属性自动设置。 当您的 WindowsForm@@@ TransparencyKey 属性设置到, BackColor 属性的值并然后运行该应用程序, 出现透明窗体或控件显示颜色。

注意 : 颜色设置 Windows 窗体的 BackColor 属性中。

注意 您必须显示 颜色质量 设置到 32 位颜色模式。


回到顶端


解决方案

loadTOCNode(1, 'resolution');
要解决此问题在 Microsoft Windows 应用程序与 WindowsForms 控件, 请按照下列步骤操作:
1.Label 1 , 右击, 然后单击 属性 。
2.在 属性 窗口, 将 FlatStyle 属性设置为 系统
3.在 调试 菜单上, 单击 开始 。

可能会发现该窗体和 WindowsForms 控件都透明。 此问题是与本文 " 更多信息 " 部分所述。
要解决在 Windows 应用程序与用户控件, 问题请按照下列步骤:
1.在 SolutionExplorer@@, 右击 UserControl 1 .vb 并单击 查看代码 。
2.替换现有
[code]SetStyle(ControlStyles.DoubleBuffer,
true)

[/code]语句与下列语句:

使用 VisualBasic.NET 或 Visual Basic 2005 代码
[code] SetStyle(ControlStyles.DoubleBuffer, False)

[/code]VisualC # .NET 或 VisualC # 2005 代码
[code]SetStyle(ControlStyles.DoubleBuffer,false);

[/code]
3.在 调试 菜单上, 单击 开始 。

可能会发现该窗体和用户控件都透明。 此问题是与本文 " 更多信息 " 部分所述。


回到顶端


状态

loadTOCNode(1, 'status');
Microsoft 已确认这是 " 适用于 " 一节中列出 Microsoft 产品中存在问题。


回到顶端


更多信息

loadTOCNode(1, 'moreinformation');
注意 之前启动 " 以重现将问题 ", 步骤按照下列步骤操作:
1.右击 桌面 , 然后单击 属性 。
2.单击 设置 选项卡。

请确保被设置到 最高 (32 位) 颜色质量 。 某些计算机因为颜色质量取决于计算机视频卡可能不支持 32 位颜色质量。


回到顶端

步骤来重现问题

Windows 窗体与 WindowsForms 控件
loadTOCNode(3, 'moreinformation');

loadTOCNode(2, 'moreinformation');
1.通过使用 VisualBasic.NET、 Visual Basic 2005、 Visual C# 2005 或 VisualC # .NET 或 Microsoft Visual Studio 2005, MicrosoftVisualStudio.NET 中创建新 Windows 应用程序。

默认情况下, 创建 Form 1 。
2.从 工具箱 , 将 Label 控件拖到 Form 1 。
3.右击 Form 1 , 然后单击 属性 。
4.选择 BackColor 属性, 并在 属性 窗口, 然后单击 自定义 选项卡。

选择任何颜色以外白色。
5.在 属性 窗口, 将 TransparencyKey 属性设置为与 BackColor 属性相同值
6.在 调试 菜单上, 单击 开始 。

您可能看到窗体是透明。 但是, 标签出现在 BackColor 属性中设置颜色。


回到顶端

步骤来重现问题

Windows 窗体与用户控件
loadTOCNode(3, 'moreinformation');

loadTOCNode(2, 'moreinformation');
1.VisualStudio.NET 或 ijn, Visual Studio 2005 中通过 VisualBasic.NET、 Visual Basic 2005、 Visual C# 2005 或 VisualC # .NET 创建新 Windows 控件库。

默认情况下, UserControl 1 创建。
2.在 视图 菜单上, 单击 代码 。 构造函数中将以下语句是 UserControl 1 之后, WindowsFormDesignergeneratedcode 表单 区域中添加
[code]InitializeComponent()

[/code]语句:

使用 VisualBasic.NET 或 Visual Basic 2005 代码
[code]'These Control Style bits enable double-buffering.
SetStyle(ControlStyles.UserPaint,True)
SetStyle(ControlStyles.AllPaintingInWmPaint, True)
SetStyle(ControlStyles.DoubleBuffer, True)

[/code]VisualC # .NET 或 VisualC # 2005 代码
[code]//These Control Style bits enable double-buffering.
SetStyle(ControlStyles.UserPaint,true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
SetStyle(ControlStyles.DoubleBuffer, true);

[/code]
3.在 生成 菜单上, 单击 BuildSolution@@@ 。
4.在 菜单, 指向 AddProject@@ , 然后单击 新建项目 。 在 项目类型 节, 选择 VisualBasic 项目 。 在 模板 部分, 选择 WindowsApplication@@@ 。

注意 对于 Visual Studio 2005, 单击 项目类型 VisualBasic

默认情况下, 创建 Form 1 。
5.从 工具箱 , 将 UserControl 1 控件拖到 Form 1 。
6.右击 Form 1 , 然后单击 属性 。
7.在 属性 窗口、 BackColor 属性, 选择, 然后单击 自定义 选项卡选择任何颜色以外白皮书。
8.在 属性 窗口, 将 TransparencyKey 属性设置为与 BackColor 属性相同值
9.在 SolutionExplorer@@, 右击 WindowsApplication 1 , 并单击 SetasStartUpProject@@@ 。
10.在 调试 菜单上, 单击 开始 。

您可能看到窗体是透明。 但是, 用户控件出现在 BackColor 属性中设置颜色。


回到顶端


参考

loadTOCNode(1, 'references');
更多有关 Form.TransparencyKey 属性和 ControlStyles 枚举, 请访问下列 Microsoft Web 站点:
http://msdn2.microsoft.com/en-us/library/system.windows.forms.form.transparencykey(vs.71).aspx (http://msdn2.microsoft.com/en-us/library/system.windows.forms.form.transparencykey(vs.71).aspx)

http://msdn2.microsoft.com/en-us/library/system.windows.forms.controlstyles(vs.71).aspx (http://msdn2.microsoft.com/en-us/library/system.windows.forms.controlstyles(vs.71).aspx)



回到顶端


这篇文章中的信息适用于:
Microsoft Visual Basic 2005
Microsoft Visual Basic .NET 2003 Standard Edition
Microsoft Visual Basic .NET 2002 Standard Edition
Microsoft Visual C# 2005 Express Edition
Microsoft Visual C# .NET 2003 Standard Edition
Microsoft Visual C# .NET 2002 Standard Edition


回到顶端


关键字:
kbbug kb32bitonly kbwindowsforms kbproperties kbctrl kbstyle kbdisplay kbcontrol kbvs2002sp1sweep kbvs2005applies kbvs2005swept KB820640 KbMtzh kbmt


回到顶端


Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

var g_asAnswers = [];var g_iAnswerPtr = 0;var currentsectionid = 1;var navindex = 1;var currentsection;var navpath = new Array();var g_SCID = 'sw;zh-sim;1361';var g_SITE = 'gn';var g_REGIONID = 'zh-cn';var g_URL = '%252fdefault.aspx%252fkb%252f820640%252fzh-cn';var g_BROWSERLANGCODE = 'zh-cn';var g_SURVEYLANGCODE = 'zh-sim';var g_SURVEYID = '1361';var g_SURVEYNAME = '';var g_asParams = ['kb','zh-cn','820640','','','','','','machine',''];var g_showall = 0;var g_surveystyle = 'popup';var bClickCancel = 0;var g_maxKBsInCookie = '10';var g_kbvisited = '';

请就此篇文章提供反馈

这篇文章有助您解决问题吗?

解决了一部分
我不确定
非常同意强烈反对
987654321
这篇文章容易理解
文章内容准确
附加评论:
为了保护您的隐私,请不要在您的反馈中提及联系信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: