vs2008创建windows窗体怎么编写代码

vs2008创建windows窗体怎么编写代码,第1张

从工具箱中拉出一个label1,和一个button1,双击button,然后洞吵在跳转到了form.cs中,在按钮的onclick事件中输入label1.text = "显示内容",然后按F5调试,点击按钮label就运裂会显示内容,其他控件有类似 *** 作

学winform编程建议看[Csharp入门经典(第四版)].(美)沃森,(美)内格尔

网上有电子版的书以及旁颤闭源代码

vs2008

的用户自定义控件

近日里,由于框架改造的需要,需要将跳转菜单(GotoMenu)功能从原有的以Config

配置文件

的方式,修改为在Design

Time环境下进行可视化配置的方式实现。于是做了一些准备,在Microsoft

MSDN上翻阅了诸多资料,意外地,在

扩展设计时支持的外部资源

中找到了一些好东东,首先推荐一下。

言归正传,微软的工程师们当初在设计Visual

Studio的设计时编辑器时,考虑到开发人员需要在运行时以及设计时绘制,调试相关的控件、组件。将VS界面设计器设计为一个“可扩展”的属性编辑器。

界面编辑器的自定义,最常用的是使用属性(

Attribute

,为了与属性,Property,区分开,下文中使用“特性”)进行界面浏览帆茄设计。其中,最常用的,便是BrowsableAttribute。默认情况下,用户自定义组件中的属性都是默认可见了,即默认BrowsableAttribute为true的情况。当不希望某个属性在属性编辑器中显示时,我们可以做如下设置:

private

Person

person

=

new

Person()

//[Browsable(false)]

public

Person

Person

{

get

{

return

this.person

}

}

此时,在属性编辑器中,我们可以看到,Person属性是可见的。

//[Browsable(false)]

注释去除,此时,Person属性,将不会在属性编辑器中展现出来:

回顾第

一张图

中显示的内容,我们可以发现,Person属性是不可编辑的,并且,在窗体Designer.cs窗体设计内容(本文中为Form1.Designer.cs)文件中,找不到关于Person属性的设置

这是为何呢?

在VS的属性编辑器的信息传递到.net程序(C#,VB)代码的时候,其相应的属性信息是需要进行

序列化

后,将属性内容

持久化

本地代码

中的。

Person属性是一个自定义类型的属性设置,因此,属性编辑器在序列盯乎化过程中,无法找到其相应的序列化设置,因此,在编辑设置该属性时,程序员需要指定序列化内容。添加如下代码:

private

Person

person

=

new

Person()

[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]

public

Person

Person

{

get

{

return

this.person

}

}

回到窗体设计代码中(Designer.cs)

当然,在自定义控件的过程中,如果涉及到序列(List)的设置,也同样是需要指定序列化内容的。

除了以上描述的两个属性外,Visuao

Studio的扩凯轿悉展设计时支持内容中,还包括DevaultValueAttribute,CategoryAttribute等,具体的内容可到MSDN查阅。

你是不是每次添加的都是一个WindowsApplication,WindowsApplication被添加的时候是一定会默认带有一个Form1和一个Program.cs的,你应该添加的是WindowsForm,在添加的时州枯消败毕候册知会让你给窗体命名的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11969718.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存