一、程序入口:
using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; namespace HR.Control { /// <summary> /// 对集合类控件中的文本进行查找、替换的组件 /// </summary> public class SearchSelect { /// <summary> /// 查找文件的操作类型 /// </summary> public enum FindOption { /// <summary> /// 查找文本 /// </summary> FindText, /// <summary> /// 替换文本 /// </summary> ReplaceText } /// <summary> /// 查找ListBox控件 /// </summary> /// <param name="lb">ListBox</param> /// <param name="option">查找类型</param> /// <remarks></remarks> public void FindAndSelect(ListBox lb, FindOption option) { LoadForm(lb, option, "ListBox"); } /// <summary> /// 查找ComboBox控件 /// </summary> /// <param name="cbb">ComboBox</param> /// <param name="option">查找类型</param> /// <remarks></remarks> public void FindAndSelect(ComboBox cbb, FindOption option) { LoadForm(cbb, option, "ComboBox"); } /// <summary> /// 查找TreeView控件 /// </summary> /// <param name="tv">TreeView</param> /// <param name="option">查找类型</param> /// <remarks></remarks> public void FindAndSelect(TreeView tv, FindOption option) { LoadForm(tv, option, "TreeView"); } /// <summary> /// 查找RichTextBox控件 /// </summary> /// <param name="rtb">RichTextBox</param> /// <param name="option">查找类型</param> /// <remarks></remarks> public void FindAndSelect(RichTextBox rtb, FindOption option) { LoadForm(rtb, option, "RichTextBox"); } /// <summary> /// 查找DataGridView控件 /// </summary> /// <param name="dgv">DataGridView</param> /// <param name="option">查找类型</param> /// <remarks></remarks> public void FindAndSelect(DataGridView dgv, FindOption option) { LoadForm(dgv, option, "DataGridView"); } /// <summary> /// 加载窗体,根据不同的控件 /// </summary> /// <param name="control">要查找的控件</param> /// <param name="option">查找类型</param> /// <param name="controlType">控件类型</param> private static void LoadForm(object control, FindOption option,string controlType) { HR.Control.Form1_Search fs = new Form1_Search(); fs.FindControl = control; fs.ControlType = controlType; if (option == FindOption.FindText)//查找文本 { fs.tabControl1.SelectedTab = fs.tabFind; } else { fs.tabControl1.SelectedTab = fs.tabReplace; } fs.ShowDialog(); } } }
二、入口程序调用的窗体
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace HR.Control { public partial class Form1_Search : Form { /// <summary> /// 要查找的控件 /// </summary> public object FindControl; /// <summary> /// 查找的控件类型 /// </summary> public string ControlType; /// <summary> ///选择的索引 /// </summary> int selIndex; /// <summary> /// 选择的行 /// </summary> int selR; /// <summary> /// 选择的列 /// </summary> int selC; /// <summary> /// 开始索引 /// </summary> int sI; /// <summary> /// 结束索引 /// </summary> int eI; public Form1_Search() { InitializeComponent(); } private void Form1_Search_Load(object sender, EventArgs e) { switch (ControlType) { case"ListBox": this.btnColor.Enabled = false; this.checkBox4.Enabled = false; ListBox lb = (ListBox)FindControl; if (lb.Items.Count==0) { MessageBox.Show("没有可查找的项,查找将终止!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } if (lb.SelectionMode==SelectionMode.One) { this.btnFindAll.Enabled = false; }; break; case"ComboBox": this.btnColor.Enabled = false; this.checkBox4.Enabled = false; ComboBox cbb = (ComboBox)FindControl; if (cbb.Items.Count==0) { MessageBox.Show("没有可查找的项,查找将终止!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); }; this.btnFindAll.Enabled = false; break; case"TreeView": this.btnColor.Enabled = false; this.checkBox4.Enabled = false; TreeView tv = (TreeView)FindControl; if (tv.Nodes.Count==0) { MessageBox.Show("没有可查找的项,查找将终止!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } this.btnfindNext.Enabled = false; break; case"RichTextBox": RichTextBox rtb = (RichTextBox)FindControl; if (string.IsNullOrEmpty(rtb.Text)) { MessageBox.Show("没有可查找的项,查找将终止!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } this.ckbsbcordbc.Enabled = false; this.chkTpf.Enabled = false; break; case"DataGridView": DataGridView dgv = (DataGridView)FindControl; if (dgv.Rows.Count == 0) { MessageBox.Show("没有可查找的项,查找将终止!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); }; break; } } private void btnCancel_Click(object sender, EventArgs e) { this.Close(); } /// <summary> /// 对ListBox的查找、替换操作 /// </summary> /// <param name="lb"></param> /// <param name="lx"></param> private void FindListBox(ListBox lb, string lx) { if (lx == "Next") { if (lb.SelectedIndex == -1) { selIndex = 0; } else { if (selIndex == 0) { selIndex = lb.SelectedIndex; } } string tempFindText =null; string tempDesc = null; int i; if (this.tabControl1.SelectedTab.Text == "查找") { tempFindText = this.txtFindText.Text; } else { tempFindText = this.txtFindTextB.Text; } //从选中的索引位置开始找 for (i = selIndex; i < lb.Items.Count; i++) { tempDesc = lb.Items[i].ToString(); if (this.ckbsbcordbc.Checked == false) //不区分全角和半角 { HR.StringOperate.StringOperate.ConvertDBCAndSBC SO = new HR.StringOperate.StringOperate.ConvertDBCAndSBC(); tempDesc = SO.SBCToDBC(lb.Items[i].ToString()); tempFindText = SO.SBCToDBC(tempFindText); } if (this.ckbUpporLow.Checked == false) //不区分大小写 { tempDesc = tempDesc.ToLower(); tempFindText = tempFindText.ToLower(); } if (this.chkTpf.Checked == true) //使用通配符 { if (tempDesc.IndexOf(tempFindText) > -1) //有匹配项 { if (this.tabControl1.SelectedTab.Text == "替换") { lb.Items[i] = tempDesc.Replace(tempFindText,this.txtFindReplaceText.Text); } lb.SelectedIndex = i; selIndex = i + 1; break; } } else //不使用通配符 { if (tempDesc.IndexOf(tempFindText) == 0) { if (this.tabControl1.SelectedTab.Text == "替换") { lb.Items[i] = tempDesc.Replace(tempFindText, this.txtFindReplaceText.Text); } lb.SelectedIndex = i; selIndex = i + 1; break; } } } //已经查找到最后一项 if (i == lb.Items.Count) { lb.SelectedIndex = -1; } } else //全部查找 { string tempFindText =null; string tempDesc = null; int i = 0; if (this.tabControl1.SelectedTab.Text == "查找") { tempFindText = this.txtFindText.Text; } else { tempFindText = this.txtFindTextB.Text; } for (i = 0; i <lb.Items.Count; i++) { if (this.ckbsbcordbc.Checked == false) { HR.StringOperate.StringOperate.ConvertDBCAndSBC SO = new HR.StringOperate.StringOperate.ConvertDBCAndSBC(); tempDesc = SO.SBCToDBC(lb.Items[i].ToString()); tempFindText = SO.SBCToDBC(tempFindText); } if (this.ckbUpporLow.Checked == false) { tempFindText = tempFindText.ToLower(); tempDesc = tempDesc.ToLower(); } if (this.chkTpf.Checked == true) { if (this.tabControl1.SelectedTab.Text == "替换") { if (tempDesc.IndexOf(tempFindText) > -1) { lb.Items[i] = tempDesc.Replace(this.txtFindTextB.Text, this.txtFindReplaceText.Text); } lb.SelectedIndex = i; } } else { if (tempDesc.IndexOf(tempFindText) == 0) { if (this.tabControl1.SelectedTab.Text == "替换") { lb.Items[i] = tempDesc.Replace(this.txtFindTextB.Text, this.txtFindReplaceText.Text); } lb.SelectedIndex = i; } } } } } /// <summary> /// 对ComboBox控件的查找、替换操作 /// </summary> /// <param name="cmm"></param> /// <param name="lx"></param> private void FindComboBox(ComboBox cmm,string lx) { string tempDesc = null; string tempFindText = null; if (cmm.SelectedIndex==-1) { selIndex = 0; } if (this.tabControl1.SelectedTab.Text == "替换") { tempFindText = this.txtFindTextB.Text; } else { tempFindText = this.txtFindText.Text; } int i; for (i = selIndex; i < cmm.Items.Count; i++) { tempDesc = cmm.Items[i].ToString(); if (this.ckbsbcordbc.Checked==false) { HR.StringOperate.StringOperate.ConvertDBCAndSBC SO = new HR.StringOperate.StringOperate.ConvertDBCAndSBC(); tempDesc = SO.SBCToDBC(tempDesc); tempFindText = SO.SBCToDBC(tempFindText); } if (this.ckbUpporLow.Checked==false) { tempDesc = tempDesc.ToLower(); tempFindText = tempFindText.ToLower(); } if (this.chkTpf.Checked == true) //使用通配符 { if (tempDesc.IndexOf(tempFindText) > -1) { if (this.tabControl1.SelectedTab.Text == "替换") { cmm.Items[i] = tempDesc.Replace(tempFindText, this.txtFindReplaceText.Text); } cmm.SelectedIndex = i; selIndex = selIndex + 1; break; } } else //使用通配符 { if (tempDesc.IndexOf(tempFindText)==0) { if (this.tabControl1.SelectedTab.Text == "替换") { cmm.Items[i] = tempDesc.Replace(tempFindText, this.txtFindReplaceText.Text); } cmm.SelectedIndex = i; selIndex = selIndex + 1; break; } } } if (i==cmm.Items.Count) { cmm.SelectedIndex = -1; } } /// <summary> /// 对RichTextBox控件的查找、替换操作 /// </summary> /// <param name="rct"></param> /// <param name="lx"></param> private void FindRichTextBox(RichTextBox rct, string lx) { eI = rct.Text.Length; int i = 0; string tempFindText = null; if (sI==0) { sI = 0; } try { if (lx == "Next") { if (this.tabControl1.SelectedTab.Text == "替换") { tempFindText = this.txtFindTextB.Text; if (this.ckbUpporLow.Checked == true) //区分大小写 { i = rct.Find(tempFindText, sI, eI, RichTextBoxFinds.MatchCase); } else { i = rct.Find(tempFindText, sI, eI, RichTextBoxFinds.None); } if (i > 0)//找到了匹配项 { rct.SelectedText = this.txtFindReplaceText.Text; rct.SelectionStart = i; rct.SelectionLength = txtFindReplaceText.Text.Length;//从新定位一个新的位置开始找 sI = i + txtFindReplaceText.Text.Length; } } else //查找 { tempFindText = this.txtFindText.Text; if (this.ckbUpporLow.Checked == true) //区分大小写 { i = rct.Find(tempFindText, sI, eI, RichTextBoxFinds.MatchCase); } else { i = rct.Find(tempFindText, sI, eI, RichTextBoxFinds.None); } sI = i + tempFindText.Length; } } else //查找全部 { sI = 0; eI = rct.Text.Length; if (this.tabControl1.SelectedTab.Text == "替换") { tempFindText = this.txtFindTextB.Text; int k = 0; for (k = 0; k < rct.Text.Length; k++) { if (this.ckbUpporLow.Checked == true) { i = rct.Find(tempFindText, sI, eI, RichTextBoxFinds.MatchCase); } else { i = rct.Find(tempFindText, sI, eI, RichTextBoxFinds.None); } if (i > 0) { rct.SelectedText = this.txtFindReplaceText.Text; rct.SelectionStart = i; rct.SelectionLength = txtFindReplaceText.Text.Length;//从替换后的新位置开始找 sI = i + txtFindReplaceText.Text.Length; } else { return; } } } else //如果是查找 { rct.SelectionColor = Color.Black; tempFindText = this.txtFindText.Text; int k = 0; for (k = 0; k < rct.Text.Length; k++) { if (this.ckbUpporLow.Checked == true) { i = rct.Find(tempFindText, sI, eI, RichTextBoxFinds.MatchCase); } else { i = rct.Find(tempFindText, sI, eI, RichTextBoxFinds.None); } if (i > 0) { sI = i + tempFindText.Length; rct.SelectionColor = this.btnColor.BackColor; } else { return; } } } } } catch { sI = 0; } } /// <summary> /// 对TreeView的查找、替换操作 /// </summary> /// <param name="tv">TreeView控件</param> /// <param name="lx"></param> /// <remarks></remarks> private void FindTreeView(TreeView tv, string lx) { foreach (TreeNode FirstNode in tv.Nodes) { RecurseTreeNode(FirstNode); } } /// <summary> /// 递归查找树节点 /// </summary> /// <param name="tempNode">树节点</param> private void RecurseTreeNode(TreeNode tempNode) { tempNode.ForeColor = Color.Black; tempNode.Expand(); string tempFindText = ""; string tempDesc = ""; if (this.tabControl1.SelectedTab.Text == "替换") { tempFindText = this.txtFindTextB.Text; } else { tempFindText = this.txtFindText.Text; } tempDesc = tempNode.Text; if (this.ckbsbcordbc.Checked==false) { HR.StringOperate.StringOperate.ConvertDBCAndSBC SO = new HR.StringOperate.StringOperate.ConvertDBCAndSBC(); tempDesc = SO.SBCToDBC(tempDesc); tempFindText = SO.SBCToDBC(tempFindText); } if (this.ckbUpporLow.Checked==false) { tempDesc = tempDesc.ToLower(); tempFindText = tempFindText.ToLower(); } if (this.chkTpf.Checked == true) { if (tempDesc.IndexOf(tempFindText) > -1) { tempNode.ForeColor = this.btnColor.BackColor; if (this.tabControl1.SelectedTab.Text == "替换") { tempNode.Text = tempDesc.Replace(tempFindText, this.txtFindReplaceText.Text); } if (tempNode.Parent != null) //当前节点有父节点时,展开父节点 { tempNode.Parent.Expand(); } } } else { if (tempDesc.IndexOf(tempFindText)==0) { tempNode.ForeColor = this.btnColor.BackColor; if (this.tabControl1.SelectedTab.Text == "替换 ") { tempNode.Text = tempDesc.Replace(tempFindText, this.txtFindReplaceText.Text); } if (tempNode.Parent != null) //当前节点有父节点时,展开父节点 { tempNode.Parent.Expand(); } } } foreach (TreeNode aNode in tempNode.Nodes) { RecurseTreeNode(aNode); } } /// <summary> /// 对DataGridView的查找、替换操作 /// </summary> /// <param name="dgv"></param> /// <param name="lx"></param> private void FindDataGridView(DataGridView dgv, string lx) { int i = 0; int j = 0; string tempDesc = null; string tempFindText = null; if (this.tabControl1.SelectedTab.Text == "替换") { tempFindText= this.txtFindText.Text; } else { tempFindText = this.txtFindTextB.Text; } if (lx == "Next") { for (i = selR; i < dgv.Rows.Count; i++) { for (j = selC; j < dgv.ColumnCount; j++) { selC = j + 1; dgv.Rows[i].Cells[j].Style.ForeColor = Color.Black; if (!Object.ReferenceEquals(dgv.Rows[i].Cells[j].Value, null)) //单元格不为空 { tempDesc = dgv.Rows[i].Cells[j].Value.ToString(); if (this.ckbsbcordbc.Checked == false) { HR.StringOperate.StringOperate.ConvertDBCAndSBC SO = new HR.StringOperate.StringOperate.ConvertDBCAndSBC(); tempDesc = SO.SBCToDBC(tempDesc); tempFindText = SO.SBCToDBC(tempFindText); } if (this.ckbUpporLow.Checked == false) { tempDesc = tempDesc.ToLower(); tempFindText = tempFindText.ToLower(); } if (this.chkTpf.Checked == true) { if (tempDesc.IndexOf(tempFindText) > -1) { if (this.tabControl1.SelectedTab.Text == "替换") { dgv.Rows[i].Cells[j].Value = tempDesc.Replace(tempFindText, this.txtFindReplaceText.Text); } dgv.Rows[i].Cells[j].Selected = true; dgv.Rows[i].Cells[j].Style.ForeColor = btnColor.BackColor; dgv.FirstDisplayedCell = dgv.Rows[i].Cells[j];//设置查找到的单元格,一定出现在可视区域 return; } } else { if (tempDesc.IndexOf(tempFindText) == 0) { if (this.tabControl1.SelectedTab.Text == "替换") { dgv.Rows[i].Cells[j].Value = tempDesc.Replace(tempFindText, this.txtFindReplaceText.Text); } dgv.Rows[i].Cells[j].Selected = true; dgv.Rows[i].Cells[j].Style.ForeColor = btnColor.BackColor; dgv.FirstDisplayedCell = dgv.Rows[i].Cells[j];//设置查找到的单元格,一定出现在可视区域 return; } } } } //当一行查找完后 if (selC == dgv.ColumnCount) { selR = selR + 1; selC = 0; } } //所有行查找完后 if (selR == dgv.Rows.Count) { selR = 0; selC = 0; } } else //查找全部 { for (i = selR; i < dgv.Rows.Count; i++) { for (j = selC; j < dgv.ColumnCount; j++) { dgv.Rows[i].Cells[j].Style.ForeColor = Color.Black; if (!Object.ReferenceEquals(dgv.Rows[i].Cells[j].Value, DBNull.Value)) //单元格不为空 { tempDesc = dgv.Rows[i].Cells[j].Value.ToString(); if (this.ckbsbcordbc.Checked == false) //不区分全角半角 { HR.StringOperate.StringOperate.ConvertDBCAndSBC SO = new HR.StringOperate.StringOperate.ConvertDBCAndSBC(); tempDesc = SO.SBCToDBC(tempDesc); tempFindText = SO.SBCToDBC(tempFindText); } if (this.ckbUpporLow.Checked == false)//不区分大小写 { tempDesc = tempDesc.ToLower(); tempFindText = tempFindText.ToLower(); } if (this.chkTpf.Checked == true) { if (tempDesc.IndexOf(tempFindText) > -1) { if (this.tabControl1.SelectedTab.Text == "替换") { dgv.Rows[i].Cells[j].Value = tempDesc.Replace(tempFindText, this.txtFindReplaceText.Text); } dgv.Rows[i].Cells[j].Selected = true; dgv.Rows[i].Cells[j].Style.ForeColor = btnColor.BackColor; dgv.FirstDisplayedCell = dgv.Rows[i].Cells[j];//设置查找到的单元格,一定出现在可视区域 } } else { if (tempDesc.IndexOf(tempFindText) == 0) { if (this.tabControl1.SelectedTab.Text == "替换") { dgv.Rows[i].Cells[j].Value = tempDesc.Replace(tempFindText, this.txtFindReplaceText.Text); } dgv.Rows[i].Cells[j].Selected = true; dgv.Rows[i].Cells[j].Style.ForeColor = btnColor.BackColor; dgv.FirstDisplayedCell = dgv.Rows[i].Cells[j];//设置查找到的单元格,一定出现在可视区域 } } } } } } } private void btnfindNext_Click(object sender, EventArgs e) { if (this.tabControl1.SelectedTab.Text == "查找" && string.IsNullOrEmpty(this.txtFindText.Text)) { MessageBox.Show("请先输入要查找的内容,再进行查找!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else if(this.tabControl1.SelectedTab.Text == "替换" && string.IsNullOrEmpty(this.txtFindTextB.Text)) { MessageBox.Show("请先输入要查找的内容,再进行替换!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } switch (ControlType) { case"ListBox": FindListBox((ListBox)FindControl, "Next"); break; case"ComboBox": FindComboBox((ComboBox)FindControl, "Next"); break; case "RichTextBox": FindRichTextBox((RichTextBox)FindControl, "Next"); break; case "TreeView": FindTreeView((TreeView)FindControl, "Next"); break; case "DataGridView": FindDataGridView((DataGridView)FindControl, "Next"); break; } } private void btnFindAll_Click(object sender, EventArgs e) { if (this.tabControl1.SelectedTab.Text == "查找" && string.IsNullOrEmpty(this.txtFindText.Text)) { MessageBox.Show("请先输入要查找的内容,再进行查找!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else if (this.tabControl1.SelectedTab.Text == "替换" && string.IsNullOrEmpty(this.txtFindTextB.Text)) { MessageBox.Show("请先输入要查找的内容,再进行替换!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } switch (ControlType) { case "ListBox": FindListBox((ListBox)FindControl, "All"); break; case "ComboBox": FindComboBox((ComboBox)FindControl, "All"); break; case "RichTextBox": FindRichTextBox((RichTextBox)FindControl, "All"); break; case "TreeView": FindTreeView((TreeView)FindControl, "All"); break; case "DataGridView": FindDataGridView((DataGridView)FindControl, "All"); break; } } private void btnColor_Click(object sender, EventArgs e) { ColorDialog cd= new ColorDialog(); if (cd.ShowDialog()==DialogResult.OK) { this.btnColor.BackColor = cd.Color; } if (this.tabControl1.SelectedTab.Text == "查找") { this.txtFindText.Focus(); } else { this.txtFindTextB.Focus(); } } private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) { if (object.ReferenceEquals(this.tabControl1.SelectedTab,this.tabFind)) { this.btnfindNext.Text = "查找下一处(&N)"; this.btnFindAll.Text = "查找全部(&A)"; this.txtFindText.Focus(); } else { this.btnfindNext.Text = "替换下一处(&N)"; this.btnFindAll.Text = "替换全部(&A)"; this.txtFindTextB.Focus(); } } } }
查找、替换窗体
发表评论
-
C# 实现将文件夹分卷压缩
2015-04-17 17:01 1132http://bbs.csdn.net/topics/3907 ... -
C#发送邮件
2015-04-17 15:58 643public class SendEmailHelper ... -
C# xml文件读取
2015-02-11 16:08 576看附件................ -
什么时候该用委托,为什么要用委托,委托有什么好处....
2015-01-29 16:56 783http://www.cnblogs.com/superpce ... -
C#中动态加载和卸载DLL
2015-01-26 14:02 1377在C++中加载和卸载DLL是一件很容易的事,LoadLibra ... -
转:c#常用的18种设计模式
2015-01-21 08:16 718http://blog.jobbole.com/78130/ -
C#委托的介绍(delegate、Action、Func、predicate)
2015-01-09 17:26 1051http://www.cnblogs.com/akwwl/p/ ... -
接口和抽象类有什么区别 .
2014-12-22 16:35 584接口和抽象类有什么区别 你选择使用接口和抽象类的依据是什么 ... -
C#一个简单写日志文件的类
2014-12-11 09:57 1066/// <summary> /// L ... -
Linq初级班 Linq to DataSet体验(单表、多表联合查询JOIN语法)
2014-12-10 14:34 326http://www.cnblogs.com/huangcon ... -
C#泛型详解
2014-11-29 11:31 441我们在编写程序时,经常遇到两个模块的功能非常相似,只是一个是处 ... -
线程同步与异步的区别
2014-11-26 09:12 839异步处理就是按照不同步的程序处理问题。异步处理与同步处理是对立 ... -
应用C#和SQLCLR编写SQL Server用户定义函数 .
2013-10-09 17:07 445http://blog.csdn.net/zhzuo/arti ... -
log4Net简介
2013-06-30 11:32 537使用log4Net可以将系统听日志保存到DB、日志文件、邮箱中 ... -
DataGridView历史记录的前进与后退操作
2013-06-23 11:13 1073此功能介绍:DataGridView频繁查询数据时,可以将每次 ... -
c# 对INI配置文件的读取操作
2013-06-17 10:51 647此种方法只对如下格式的INI文件起作用 server=loca ... -
对DataGridView控件的扩展开发
2013-06-15 21:47 2327首先在项目中引用 ... -
C#对文件、文件夹操作公用组件
2013-06-11 09:46 931namespace HR.Class.IO { / ... -
TreeView控件操作开发篇之(五)
2013-06-09 00:09 784#region 加载文件夹及文件到树 ... -
TreeView控件操作开发篇之(五)
2013-06-08 23:14 2#region "查找遍历树节点" ...
相关推荐
DataGridView操作 DisplayRowCount EnglishTextBox FileBatchCopy GetClipBoardPicture PlanText Popup窗口提醒 RestrictDigit Vista风格的日历 带行数和标尺的RichTextBox 弹出模式窗口显示进度条 根据文件大小显示...
主要内容有C#开发环境的使用、C#语言基础应用、字符串处理技术、数组和集合的使用、面向对象编程技术、数据结构与算法、Windows窗体基础、特色窗体界面、窗体控制技术、MDI窗体和继承窗体、Windows常用控件的使用、...
标准控件 1 btn Button 2 chk CheckBox 3 ckl CheckedListBox 4 cmb ComboBox 5 dtp DateTimePicker 6 lbl Label 7 llb LinkLabel 8 lst ListBox 9 lvw ListView 10 mtx MaskedTextBox 11 cdr ...
2.2.20 RichTextBox控件——有格式文本控件 171 2.2.21 Select方法——激活控件 173 2.2.22 SelectAll方法——选定所有文本 176 2.2.23 Selected属性——是否选定 176 2.2.24 SelectedCells属性——用户选定的单元格...
实例086 在richtextbox控件中替换文本文字 实例087 利用richtextbox控件实现文字定位与标示 实例088 将数据表中的字段添加到combobox控件中 实例089 对listbox控件中的数据进行排序 实例090 listbox控件拒绝添加重复...
79 <br>0115 如何判断是否为数字 79 <br>0116 如何在字符串中查找指定字符 79 <br>0117 如何在字符串中用一子串替换另一子串 80 <br>0118 将新字符串添加到已有字符串中 80 <br>0119 如何在...
实例086 在richtextbox控件中替换文本文字 141 实例087 利用richtextbox控件实现文字定位与标示 142 实例088 将数据表中的字段添加到combobox控件中 143 实例089 对listbox控件中的数据进行排序 145 实例090 listbox...
实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中实现合并单元格 116 实例084 在DataGridView控件中显示图片 118 实例085 为DataGridView控件实现复选功能 120 实例086 禁用...
实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中实现合并单元格 116 实例084 在DataGridView控件中显示图片 118 实例085 为DataGridView控件实现复选功能 120 实例086 禁用...
实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中实现合并单元格 116 实例084 在DataGridView控件中显示图片 118 实例085 为DataGridView控件实现复选功能 120 实例086 禁用...
实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中实现合并单元格 116 实例084 在DataGridView控件中显示图片 118 实例085 为DataGridView控件实现复选功能 120 实例086 禁用...