iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >C# 中怎么设置WinForm控件
  • 171
分享到

C# 中怎么设置WinForm控件

2023-06-17 22:06:24 171人浏览 泡泡鱼
摘要

C# 中怎么设置winform控件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。如果你为属性设定了默认值,那么当开发者修改了属性的值,这个值在Property

C# 中怎么设置winform控件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

如果你为属性设定了默认值,那么当开发者修改了属性的值,这个值在Property Explorer中将会以粗体显示。VS为属性提供一个上下文菜单,允许程序员使用C# WinFORM控件开发把值重置为默认值。

当Visual Studio进行控件的串行化时,他会判断那些值不是默认值,只有不是设置默认值的属性才会被串行化,所以为属性提供设置默认值时可以大大减少串行化的属性数目,提高效率。

那么Visual Studio进怎么知道我们的属性值不是默认值了呢?我们需要一种机制来通知Visual Studio进默认值。实现这种机制有两种方法:

对于简单类型的属性,比如Int32,Boolean等等这些Primitive类型,你可以在属性的声明前设置一个DefaultValueAttribute,在Attribute的构造函数里传入设置默认值。

对于复杂的类型,比如Font,Color,你不能够直接将这些类型的值传递给Attibute的构造函数。相反你应该提供Reset和ShouldSerialize方法,比如ResetBackgroundColor(),ShouldSerializeBackgroundColor()。

VS能够根据方法的名称来识别这种方法,比如Reset方法把重置为设置默认值,ShouldSerialize方法检查属性是否是设置默认值。过去我们把它称之为魔术命名法,应该说是一种不好的编程习惯,可是现在微软依然使用这种机制。我还是以前面几篇文章使用的例子代码。

using System;  using System.Collections.Generic;  using System.Text;  using System.windows.Forms;  using System.ComponentModel;  using System.Drawing;  namespace CustomControlSample  {      public class FirstControl : Control      {  private String _displayText=”Hello World!”;  private Color _textColor=Color.Red;    public FirstControl()          {          }          // ContentAlignment is an enumeration defined in the System.Drawing          // namespace that specifies the alignment of content on a drawing           // surface.          private ContentAlignment alignmentValue = ContentAlignment.MiddleLeft;          [          CateGory("Alignment"),          Description("Specifies the alignment of text.")          ]          public ContentAlignment TextAlignment          {              get             {                  return alignmentValue;              }              set             {                  alignmentValue = value;                  // The Invalidate method invokes the OnPaint method described                   // in step 3.                  Invalidate();              }          }   [Browsable(true)]   [DefaultValue(“Hello World”)]   public String DisplayText  {  get {  return _displayText;  }  set {       _displayText =value;      Invalidate();  }  }  [Browsable(true)]  public Color TextColor  {  get {      return _textColor;  }  set {      _textColor=value;  Invalidate();  }  }  public void ResetTextColor()  {      TextColor=Color.Red;  }  public bool ShouldSerializeTextColor()  {  return TextColor!=Color.Red;  }  protected override void OnPaint(PaintEventArgs e)          {              base.OnPaint(e);              StringFormat style = new StringFormat();              style.Alignment = StringAlignment.Near;              switch (alignmentValue)              {                  case ContentAlignment.MiddleLeft:                      style.Alignment = StringAlignment.Near;                      break;                  case ContentAlignment.MiddleRight:                      style.Alignment = StringAlignment.Far;                      break;                  case ContentAlignment.MiddleCenter:                      style.Alignment = StringAlignment.Center;                      break;              }              // Call the DrawString method of the System.Drawing class to write                 // text. Text and ClientRectangle are properties inherited from              // Control.              e.Graphics.DrawString(                  DisplayText,                  Font,                  new SolidBrush(TextColor),                  ClientRectangle, style);          }      }  }

在上面C# WinForm控件开发的代码中,我增加了两个属性,一个是DisplayText,这是一个简单属性,我们只需要在它的声明前添加一个DefaultValue Attribute就可以了。

另外一个是TextColor属性,这个复杂类型的属性,所以我们提供了ResetTextColor和ShouldSerializeTextColor来实现默认值。

C# WinForm控件开发设置默认值的实现就讲完了,但是有一点不要忽视了,你已经设置默认值,就应该相应的初始化这些属性,比如我们例子中的代码:

private String _displayText=”Hello World!”;  private Color _textColor=Color.Red;

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网精选频道,感谢您对编程网的支持。

--结束END--

本文标题: C# 中怎么设置WinForm控件

本文链接: https://www.lsjlt.com/news/293622.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C# 中怎么设置WinForm控件
    C# 中怎么设置WinForm控件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。如果你为属性设定了默认值,那么当开发者修改了属性的值,这个值在Property ...
    99+
    2023-06-17
  • winform怎么设置控件的透明度
    要设置WinForm控件的透明度,可以使用控件的`Opacity`属性。该属性接受一个介于0和1之间的值,其中0表示完全透明,1表示...
    99+
    2023-08-19
    winform
  • C#中winform chart控件怎么使用
    在C#中使用WinForms Chart控件,可以按照以下步骤进行操作: 在Visual Studio中创建一个WinForms应...
    99+
    2024-02-29
    C# winform
  • WinForm中怎么设置用户控件的按钮事件
    这篇文章给大家介绍WinForm中怎么设置用户控件的按钮事件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。项目中需要对一个DataGridView控件进行类似于Excel查找的功能,之前是使用的DevExpress里面...
    99+
    2023-06-17
  • Attribute在C# WinForm控件开发中怎么用
    这篇文章主要为大家展示了“Attribute在C# WinForm控件开发中怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Attribute在C# WinForm控件开发中怎么用”这篇文章...
    99+
    2023-06-17
  • C#的WinForm怎么增加treeView1控件
    这篇文章主要讲解了“C#的WinForm怎么增加treeView1控件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#的WinForm怎么增加treeView1控件”吧!使用TreeNod...
    99+
    2023-06-17
  • c中datagridview控件属性怎么设置
    在C#中,可以通过以下步骤设置DataGridView控件的属性:1. 打开窗体设计器,将DataGridView控件拖放到窗体上。...
    99+
    2023-08-08
    c datagridview
  • C#中Chart控件属性怎么设置
    C#中Chart控件的属性可以通过以下几种方式进行设置:1. 在设计视图中直接通过属性窗口设置。在Visual Studio中拖拽C...
    99+
    2023-09-21
    C# Chart
  • C# WinForm怎么设置DataGridView选中指定行
    要设置DataGridView选中指定行,可以使用DataGridView的SelectedRows属性来实现。以下是一个示例代码:...
    99+
    2023-10-21
    C# WinForm
  • 怎么处理WinForm中的控件事件
    在WinForm中处理控件事件通常需要以下步骤: 打开窗体设计器,选择要处理事件的控件,例如按钮、文本框等。 双击控件,会自动创建...
    99+
    2024-04-08
    winform
  • WinForm中怎么添加按钮控件
    在WinForm中添加按钮控件的步骤如下: 打开Visual Studio,在工具箱中找到按钮控件(Button)。 将按钮...
    99+
    2024-04-08
    winform
  • c#滚动条控件怎么设置
    在c#中设置滚动条控件包括以下步骤:创建scrollbar控件。设置minimum、maximum、value和orientation属性以配置控件。响应scroll事件以执行特定操作。...
    99+
    2024-05-12
    c#
  • VB.NET中怎么设置控件
    这篇文章给大家介绍VB.NET中怎么设置控件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。VB.NET经过长时间的发展,很多用户都很了解VB.NET设置控件了,这里我发表一下个人理解,和大家讨论讨论。个人都不希望在别人...
    99+
    2023-06-17
  • wpf怎么使用winform控件
    WPF(Windows Presentation Foundation)是一种用于构建 Windows 桌面应用程序的技术,而 Wi...
    99+
    2023-09-26
    WPF winform
  • C# winform跨线程操作控件怎么实现
    今天小编给大家分享一下C# winform跨线程操作控件怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前提...
    99+
    2023-07-02
  • winform怎么调用wpf控件
    要在WinForm中调用WPF控件,可以按照以下步骤进行操作:1. 在WinForm项目中添加对WPF的引用。右击项目 -> 添加 ...
    99+
    2023-10-20
    winform wpf
  • WinForm中怎么使用状态栏控件
    要在WinForm中使用状态栏控件,您可以按照以下步骤操作: 在Visual Studio中打开您的WinForm项目。 在工具箱...
    99+
    2024-03-12
    WinForm
  • WinForm中怎么使用定时器控件
    在WinForm中使用定时器控件非常简单。下面是使用定时器控件的步骤: 在WinForm的工具箱中找到定时器控件(Timer),将...
    99+
    2024-03-12
    WinForm
  • C#开发WinForm中怎么清空DataGridView控件绑定的数据
    本文小编为大家详细介绍“C#开发WinForm中怎么清空DataGridView控件绑定的数据”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#开发WinForm中怎么清空DataGridView控件绑定的数据”文章能帮助大家解决疑惑,下...
    99+
    2023-06-29
  • winform列表控件怎么使用
    WinForm中的列表控件可以使用ListBox、ListView和DataGridView三种控件来实现。1. ListBox控件...
    99+
    2023-09-05
    winform
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作