位置:海鸟网 > IT > ASP.NET >

聊天主题:如何用C#定制个性化的界面控件

聊天主题:如何用C#定制个性化的界面控件主持人和专家介绍主持人:Guest_jswang_MS 微软专家: 韩定一(Guest_Danny_MS),赵彦(Guest_Francs_MS) Host Guest_jswang_MS says: 欢迎大家参加微软在线技术聊天。 Host Guest_jswang_MS says: 本次聊天的主题是如何用C#定制个性化的界面控件 Host Guest_jswang_MS says: 首先,让我们欢迎来自微软全球技术中心工程师赵彦,韩定一 Host Guest_Francs_MS says: 大家好,我是微软全球技术中心技术专员赵彦,很高兴今天能和大家一起在这里讨论。 Host Guest_Danny_MS says: 大家好!我是微软全球技术中心(上海)技术专员韩定一。欢迎大家来和我们一起讨论问题。 来宾提问 Q 和专家解答 A[Q] sarillafan : Hi, I want to ask one question, Is there any method to change the whole appliation style in a simple way? [A] 你可以将控件的Flat属性设为System,并写一个manifest文件 [A] 想要让程序里的控件在Windows XP下呈现出XP的风格,请参考[A] 您可以使用System.Windows.Froms.PropertyGrid类 [Q] mmud : 我是说自动停靠的那种功能?PropertyGrid类有吗? [A] 控件有dockable的属性,可以设的 [Q] xiaohei : 您可以将窗体设为透明,并利用贴图来实现,贴图功能怎么实现,举例说明一下好吗 [A] 在Form上添加一个PictureBox即可 [Q]C#是怎么实现XML的? [A]XML只是一个规范,.Net是基于XML构建的,C#能利用这种标准,与实现这种标准无关 [Q] seventh : 在不可执行状态下的菜单条通常是灰色的,请问可否,如何重画? [A] 重载MenuItem类的OnPaint事件响应函数 [Q] mmud: 那里 还能看到聊天记录,比如以前的那些? [A] 上一次的聊天记录可以在?oBODY=Chat/ChatRecord/chat0724&oXSLT=Chat/chat 找到 小结Host Guest_Danny_MS says: 我来做一些小结 [Q]什么是控件重画: [A]控件重画就是通过重载现有控件类或者重载System.Windows.Forms.Controls类来实现符合特殊要求的界面控件。这些控件可以具有特别的Style,特殊的事件响应等。 有关System.Windows.Forms.Control类的信息请参见 MSDN(ms-help://MS.VSCC/MS.MSDNVS/cpref/html/frlrfSystemWindowsFormsButtonMembersTopic.htm)有关本地化System.Windows.Forms.PropertyGrid的例子,请参见 有关重画按钮控件的例子,请参见 ?oBODY=TechZone/TechArticle/TechDoc/redrawcomponent&oXSLT=TechZone/TechArticle/TechContent和需要特殊的效果,例如渐变等,您可以使用System.Drawing.Drawing2D.LinearGradientBrush类 ms-help://MS.VSCC/MS.MSDNVS/cpref/html/frlrfSystemDrawingDrawing2DLinearGradientBrushMembersTopic.htm需要画出像Outlook那样的快捷方式栏可以参见例子 需要扁平的下拉框控件,您可以参考例子 想要让程序里的控件在Windows XP下呈现出XP的风格,请参考 ?url=/library/en-us/dv_vstechart/html/vbtchusingwindowsxpvisualstyleswithcontrolsonwindowsforms.asp需要文件夹浏览器可以参考例子 对于TextBox的输入进行限制的例子请参见: 控制任务栏里的TrayIcon的例子,请参见 重画菜单的例子有: 该例子画出了Visual Studio .NET样式的例子。 重画工具栏的例子有: 采用Skin机制的例子有: 结束语Host Guest_jswang_MS says: 好,谢谢大家参加此次微软专家技术聊天。 Host Guest_jswang_MS says: 同时也感谢赵彦和韩定一工程师能在百忙之中抽出时间参加聊天. Host Guest_jswang_MS says: 我们的聊天时间是下午4:00~5:00.希望下一次还可以看到大家. Host Guest_jswang_MS says: 下一次的话题是 .NET PassportHost Guest_jswang_MS says: 如果您有任何问题,请参加我们的新闻组 microsoft.public.cn.dotnet.frameworkmicrosoft.public.cn.dotnet.csharpHost Guest_jswang_MS says: 微软的邮件服务器是:msnews.microsoft.com 本次聊天到此结束,谢谢大家!