winform程序对界面上控件的统一控制【一】(赋值\清空\验证……)

首先来说说本文所描述的东西有哪些功能:

(1)在界面上输入某个值之前,其他的控件都处于不可用状态。

(2)需检验必填项是否为空。

(3)需检验用户输入的格式是否正确。

(4)清除控件内容。

(5)为控件设置默认值。

(6)清除清除错误提示信息(ErrorText)。

(7)将数据行的值映射到文本编辑框中。

(8)将编辑框中的数据赋给数据行。

看看我是怎么实现的

【1】定义"设置条件"的实体类

代码一

/// <summary>
     /// 设置条件
     /// </summary>
     public class SetControl
     {
         /// <summary>
         /// 控件名称
         /// </summary>
         [Description("控件名称")]
         public object ControlName
         {
             get;
             set;
         }
         /// <summary>
         /// 是否可为空
         /// </summary>
         [Description("可否为空")]
         public bool NullAble
         {
             get;
             set;
         }
         /// <summary>
         /// 默认值
         /// </summary>
         [Description("默认值")]
         public object Default
         {
             get;
             set;
         }
         /// <summary>
         /// 匹配格式
         /// </summary>
         [Description("匹配格式")]
         public string Formate
         {
             get;
             set;
         }
         /// <summary>
         /// 是否主键
         /// </summary>
         [Description("是否主键")]
         public bool KeyFiled
         {
             get;
             set;
         }
         /// <summary>
         /// 对应字段的名称
         /// </summary>
         [Description("对应字段的名称")]
         public string FiledName
         {
             get;
             set;
         }
         /// <summary>
         /// 重写Tostring()方法。返回控件的名称
         /// </summary>
         /// <returns></returns>
         public override string ToString()
         {
             Type t = ControlName.GetType();
             System.Reflection.PropertyInfo x =  t.GetProperty("Name");
             object cnm = x.GetValue(ControlName,  null);
             return cnm == DBNull.Value ? "" :  cnm.ToString();
         }
     }

时间: 2024-08-03 12:37:36

winform程序对界面上控件的统一控制【一】(赋值\清空\验证……)的相关文章

winform程序对界面上控件的统一控制【二】组件版

继上篇文章winform 程序对界面上控件的统一控制[一](赋值\清空\验证- -) ,本篇文章将实现一个同样功能的Component(组件). 先看看组件的实现,如下所示: 代码一 public partial class CtrlValidation : Component { public CtrlValidation() { InitializeComponent(); typeCache = new TypeCache(); } public CtrlValidation(IConta

winform-C# WinForm 程序能使用FileUpload控件吗?为什么我在工具箱找不到该控件!

问题描述 C# WinForm 程序能使用FileUpload控件吗?为什么我在工具箱找不到该控件! RT! C# WinForm 程序能使用FileUpload控件吗?为什么我在工具箱找不到该控件! 解决方案 C#控件与工具箱C#FileUpLoad控件使用C# WinForm程序中使用Unity3D控件 解决方案二: winform里没有这个控件,你可以用textbox和botton做一个,然后后台写点击事件就可以了http://img.bbs.csdn.net/upload/201308/

C# winform程序动态加载控件,总是窗体先出现,窗体上的控件出现屏幕背景,闪一下 才出现控件,出现的时间也不同步

问题描述 初始化显示控件,或者是alt+tab切换页面,的时候都是整个页面先出来,就是有个别的控件出来的很慢,而且带有屏幕的背景色一闪而过,才完全加载出来 解决方案 解决方案二:Up,求解答啊,界面现在初始化的时候,有点闪,接受不了,解决方案三:vs自动生成的Form1.Designer.cs中,控件都是用下面代码包裹起来的.你就没想过是为什么吗?this.SuspendLayout();......this.ResumeLayout(false);this.PerformLayout();解决

用Winform开发了一个程序,界面上的控件在Win7下是基本对齐的,到了WindowsServer2008下就变的完全对不齐了?请问这是什么原因?

问题描述 用Winform开发了一个程序,界面上的控件在Win7下是基本对齐的,到了WindowsServer2008下就变的完全对不齐了?请问这是什么原因?RT 解决方案 解决方案二:不知道你是用什么方法"对齐"的,所以无法判断.比如说你用"空格"来搞什么"对齐",那么不同系统的同一个主题下的细节设置也是有调整的,空格在高版本的windows下肯定就变宽了一些,那么自然在高版本windows下就"鼓出去"了.你用于"

c# winform项目中,如何将word应用程序嵌入到panel控件中

问题描述 c# winform项目中,如何将word应用程序嵌入到panel控件中 在c# winform项目中,有一个form窗体和两个Panel控件(panel1和panel2), panel1的size大小为300*200,location位置为0,0 panel2的size大小为300*200,location位置为320,0 用下面的代码,无法将word句柄嵌入到pane2控件并充满整个panel2控件中显示,设置大小与panel2一样. 请问如何修改下面的代码,谢谢. IntPtr

vs窗体界面设计-winform界面设计控件位置显示的和设计的不一致

问题描述 winform界面设计控件位置显示的和设计的不一致 比如一个控件,设计的时候放在左边,启动后却显示在界面的右边,anchor值也调了,但就是和设计的位置显示的不一样,这种情况一般是哪里出问题了??求大神指导,不胜感激... 解决方案 截图看下代码和界面,,, 解决方案二: 比如这两个控件label1和panel4已经放在界面最右边,label1的anchor为Top, Left,panel4的anchor为Bottom, Right,但是启动后如图

在DevExpress程序中使用TeeList控件以及节点查询的处理

在很多情况下,我们需要通过树列表进行数据的展示,如一些有层次关系的数据,通过有层级的展示,能够使用户更加直观查看和管理相关的数据.在一般Winform开发的情况下,可以使用微软的TreeView控件,也可以使用DevExpress的TreeList控件进行数据的展示,本篇随笔主要介绍基于DevExpress的TreeList控件使用以及使用SearchControl对节点进行查询的操作. 1. 使用微软的TreeView控件的实现效果和思路 在很多情况下,我们也倾向于使用TreeView控件作为

合理的布局,绚丽的样式,谈谈Winform程序的界面设计

从事Winform开发很多年了,由于项目的需要,设计过各种各样的界面效果.一般来说,运用传统的界面控件元素,合理设计布局,能够设计出比较中规中矩的标准界面:利用一些换肤的控件或者部分界面组件,能够设计出相对好看一些的界面效果,如以前很盛行的ActiveSkin.IrisSkin和DotNetSkin等,这些能够对传统的界面元素进行换肤,确实比标准灰色的界面控件好看了很多.不过随着界面控件的组件发展,目前一般倾向于是用较为大型的控件组,他们除了提供设计得体的界面控件外,还提供了非常多种绚丽多彩的界

Winform下的地图开发控件(GMap.NET)使用心得之三---批量解析地址经纬度坐标

在之前的文章中,介绍了两篇关于GMap.NET这样的开源地图控件,介绍了其一些基本信息以及如何进行初步的应用. Winform下的地图开发控件(GMap.NET)使用心得 Winform下的地图开发控件(GMap.NET)使用心得之二 这是一个基于Winform的地图控件.该地图控件的定义如下: GMap.NET是一个强大.免费.跨平台.开源的.NET控件,它在Windows Forms 和WPF环境中能够通过Google, Yahoo!, Bing, OpenStreetMap, ArcGIS