C# WinForm 判断窗体控件是否修改过

本文转载:http://www.cnblogs.com/LinFx/archive/2011/12/23/2299895.html

 

1.自定义控件, 和接口

    interface IModify    {bool IsModified { get; }    }

class TextBoxEx : TextBox, IModify    {private bool isModified = false;

public bool IsModified        {get { return isModified; }        }

protected override void OnTextChanged(EventArgs e)        {this.isModified = true;base.OnTextChanged(e);        }    }

2.使用方法

        private void button1_Click(object sender, EventArgs e)        {var b = IsModify(this);            Text = b.ToString();        }

private bool IsModify(Control ctrl)        {foreach (Control control in ctrl.Controls)            {if (control.Controls.Count > 0)return IsModify(control);if (control is IModify)                {if (((IModify)control).IsModified)return true;                }            }return false;        }

时间: 2024-08-03 12:32:34

C# WinForm 判断窗体控件是否修改过的相关文章

asp.net中C# WinForm 判断窗体控件是否修改过

自定义代码如下  代码如下 复制代码 interface IModify { bool IsModified { get; } } class TextBoxEx : TextBox, IModify { private bool isModified = false; public bool IsModified { get { return isModified; } } protected override void OnTextChanged(EventArgs e) { this.is

求助:winform子窗体控件值保存的问题

问题描述 一个主窗体,两三个子窗体,通过主窗体打开子窗体编辑里面textbox中的内容,然后保存关闭子窗体.主窗体调用子窗体里面的值进行运算.求教各位大神,程序运行时,该如何实现保存子窗体里面textbox控件的值?程序退出时,该如何保存所有窗体里面的值?新手上路,全靠自己摸索,还望大家不吝赐教,先谢谢了! 解决方案 解决方案二:在主窗体里定义一个全局的变量即可.publicstaticstringtxt=null;在子窗体关闭的时候.MainForm.txt=textbox1.Text;在主窗

在C#窗体程序中,如何判断textbox控件中输入的格式是浮点型

问题描述 在C#窗体程序中,如何判断textbox控件中输入的格式是浮点型?求教,谢谢咯! 解决方案 解决方案二:简单点try{float.Parse();}catch{//不是}解决方案三:1L方法最简单,还可以用正则判断解决方案四:Regex.IsMatch(strValue,@"^d+.d+$")解决方案五:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSyst

c#winform窗体控件工具栏

问题描述 c#winform窗体控件工具栏 解决方案 ToolStrip,你最好能够找本C#教程或者PDF教程读一下,这些控件vs都自带的.

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

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

如何在多线程中调用winform窗体控件

由于 Windows 窗体控件本质上不是线程安全的.因此如果有两个或多个线程适度操作某一控件的状态(set value),则可能会迫使该控件进入一种不一致的状态.还可能出现其他与线程相关的 bug,包括争用和死锁的情况.于是在调试器中运行应用程序时,如果创建某控件的线程之外的其他线程试图调用该控件,则调试器会引发一个 InvalidOperationException  本文用一个很简单的示例来讲解这个问题(在窗体上放一个TextBox和一个Button,点击Button后,在新建的线程中设置T

在IE浏览器中使用Windows窗体控件(三)

window|控件|浏览器 在IE浏览器中使用Windows窗体控件(三) 作者::Thiru Thangarathinam 翻译:秋枫 调试Windows窗体控件 要调试窗体控件,你需要按照下面步骤进行. 1.打开浏览器并请求包含窗体控件的那个Html页面. 2.打开visual Studio.Net同时选择工具->调试进程就会显示下面的对话框. 在这个进程对话框中,选择IEXPLORE.EXE 点击附加按钮.当你点击附加按钮时会跳出一个对话框提示你选择要调试的程序类型.我们选择了Common

C# winform 关于ToolStrip控件工具项拖动到指定的Panel控件中

问题描述 C# winform 关于ToolStrip控件工具项拖动到指定的Panel控件中 C# Winform项目中,在form窗体中有一个ToolStrip控件(用于放所有的系统的功能项,目前大概有将近15个功能项,后续会陆续增加应用的功能项), 两个Panel控件(panel1和panel2控件是两个目标区,用于将ToolStrip控件中的子项拖放到的目标区域,在目标区域中打开或执行ToolStrip控件子项) 请问下,怎么样实现如下两个功能: 1.实现鼠标选中ToolStrip控件的子

c#窗体-C#中窗体控件textbox的用法

问题描述 C#中窗体控件textbox的用法 在文本框中输入数据,判断输入数据的范围,若超出范围则重新输入,怎么写代码? 解决方案 找到你的textbox属性中textchange事件,双击后会有一个事件 private void textBox1_TextChanged(object sender EventArgs e) { if (int.Parse(textBox1.Text) > 1000) MessageBox.Show(""输入的数值过大请重新输入!"&q