社区
C#
帖子详情
TextBox 控件的扩展, Help!!!
honghuali
2008-12-12 01:23:46
扩展功能(WEB项目中):
1.新增下拉功能, 下拉显示的数据从数据库中读取,
2.TextBox里的文本, 即可以自己输入, 也可以从下拉选择。
望有经验的朋友, 给点思路, 最好有实例。
多谢!
...全文
190
9
打赏
收藏
TextBox 控件的扩展, Help!!!
扩展功能(WEB项目中): 1.新增下拉功能, 下拉显示的数据从数据库中读取, 2.TextBox里的文本, 即可以自己输入, 也可以从下拉选择。 望有经验的朋友, 给点思路, 最好有实例。 多谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wb186
2008-12-12
打赏
举报
回复
呵呵 楼主肯定知道combobox滴!所以……
5楼很强
wengjj1985
2008-12-12
打赏
举报
回复
combobox
c11_11_11
2008-12-12
打赏
举报
回复
/**/
/// <summary>
/// 根据设置的验证数据类型返回不同的正则表达式样
/// </summary>
/// <returns></returns>
#region GetRegex
private string GetValidRegex()
{
string regex = @"(\S)";
switch (this.ValidType)
{
case DataType.Never:
break;
case DataType.Int:
error = "*必须为整数";
regex = @"(-)?(\d+)";
break;
case DataType.IntPostive:
error = "*必须为大于0的整数";
regex = @"([1-9]{1}\d*)";
break;
case DataType.IntZeroPostive:
error = "*必须为不小于0的整数";
regex = @"(\d+)";
break;
case DataType.Float:
error = "*必须为数字";
regex = @"(-)?(\d+)(((\.)(\d)+))?";
break;
case DataType.FloatPostive:
error = "*必须为大于0的数字";
regex = @"(\d+)(((\.)(\d)+))?";
break;
case DataType.FloatZeroPostive:
error = "*必须为不小于0的数字";
regex = @"(\d+)(((\.)(\d)+))?";
break;
case DataType.Url:
error = "*URL格式错误";
regex = @"(http://)?([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?";
break;
case DataType.Mail:
error = "*EMail格式错误";
regex = @"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";
break;
case DataType.ChineseChars:
error = "*只能输入中文字符";
regex = @"[\u4e00-\u9fa5]*";
break;
case DataType.EnglishChars:
error = "*只能输入英文字符";
regex = @"[a-zA-Z]*";
break;
case DataType.EngNum:
error = "*只能输入英文字符和数字";
regex = @"[a-zA-Z0-9]*";
break;
case DataType.EngNumUnerline:
error = "*只能输入英文字符、数字和下划线";
regex = @"[a-zA-Z0-9_]*";
break;
case DataType.PhoneNumber:
error = "*电话号码格式错误";
regex = @"\d{3,4}-\d{7,8}(-\d{1,4})?";
//regex = @"(0\d{2,3})?(-)?(\d{7,8})(-)?(\d{1,5})?";
break;
case DataType.MobileNumber:
error = "*手机号码格式错误";
regex = @"(0)?(1)\d{10}";
break;
case DataType.PostalCode:
error = "*邮编格式错误";
regex = @"\d{6}";
break;
case DataType.Date:
error = "*日期格式错误(YYYY-MM-DD)";
regex = @"^(((((0[48]00)|(0[1-9]((0[48])|([2468][048])|([13579][26]))))-02-29)|((0[1-9][0-9][0-9])-((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30))|(((0[1-9])|(1[0-2]))-((0[1-9])|(1[0-9])|(2[0-8])))))))|((((((([13579][26])|([2468][048]))00)|([1-9][0-9]((0[48])|([13579][26])|([2468][048]))))-02-29)|(([1-9][0-9][0-9][0-9])-((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30))|(((0[1-9])|(1[0-2]))-((0[1-9])|(1[0-9])|(2[0-8])))))))|((((00((0[48])|([2468][048])|([13579][26])))-02-29)|((00((0[1-9])|([1-9][0-9])))-((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30))|(((0[1-9])|(1[0-2]))-((0[1-9])|(1[0-9])|(2[0-8])))))))$";
break;
case DataType.IdentityCode:
error = "*身份证号码格式错误";
regex = @"\d{18}";
break;
case DataType.QQ:
error = "*QQ号码格式错误";
regex = @"[1-9][0-9]{4,}";
break;
case DataType.IP:
error = "*IP地址格式错误";
regex = @"\d+\.\d+\.\d+\.\d+";
break;
case DataType.Custom:
error = "*格式错误";
regex = this.ValidExpressionCustom;
break;
default:
break;
}
if (this.ValidError.Trim() != "")
error = this.ValidError;
return regex;
}
#endregion
#region 将此控件呈现给指定的输出参数
/**/
/// <summary>
/// 将此控件呈现给指定的输出参数。
/// </summary>
/// <param name="output"> 要写出到的 HTML 编写器 </param>
protected override void Render(HtmlTextWriter output)
{
base.Render(output);
output.Write(" ");
// base.
if (!this.AllowEmpty)
{
this.rfvDataInput.ID = "rfv" + base.ID;
this.rfvDataInput.ControlToValidate = base.ID;
//output.
//this.Attributes.Add("onfocus", "WdatePicker({isShowWeek:true})");
this.rfvDataInput.RenderControl(output);
}
if (this.ValidType != DataType.Never && this.ValidType != DataType.String)
{
this.revDataInput.ID = "rev" + base.ID;
this.revDataInput.ControlToValidate = base.ID;
this.revDataInput.ValidationExpression = this.GetValidRegex();
this.revDataInput.ErrorMessage = error;
// this.Attributes.Add("onfocus", "WdatePicker({isShowWeek:true})");
this.revDataInput.RenderControl(output);
}
//output.WriteAttribute
}
#endregion
}
}
c11_11_11
2008-12-12
打赏
举报
回复
[Category("自定义信息区")]
[DefaultValue("false"), RefreshProperties(RefreshProperties.Repaint), Description("验证控件的字体删除线"), NotifyParentProperty(true)]
public bool ValidateFontStrikeout
{
get
{
if (ViewState["ValidateFontStrikeout"] != null)
return (bool)ViewState["ValidateFontStrikeout"];
return false;
}
set { ViewState["ValidateFontStrikeout"] = value; }
}
[Category("自定义信息区")]
[DefaultValue(""), RefreshProperties(RefreshProperties.Repaint), Description("验证控件的CSSClass属性"), NotifyParentProperty(true)]
public string ValidateCSSClass
{
get
{
if (ViewState["ValidateCSSClass"] != null)
return ViewState["ValidateCSSClass"].ToString();
return string.Empty;
}
set { ViewState["ValidateCSSClass"] = value; }
}
[Category("自定义信息区")]
[DefaultValue("false"), RefreshProperties(RefreshProperties.Repaint), Description("验证控件的字体下划线"), NotifyParentProperty(true)]
public bool ValidateFontUnderline
{
get
{
if (ViewState["ValidateFontUnderline"] != null)
return (bool)ViewState["ValidateFontUnderline"];
return false;
}
set { ViewState["ValidateFontUnderline"] = value; }
}
[Category("自定义信息区"), DefaultValue(""), Description("验证控件的字体名")]
[Editor("System.Drawing.Design.FontNameEditor, System.Drawing.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor)), TypeConverter(typeof(FontConverter.FontNameConverter))]
public string ValidateFontName
{
get
{
if (ViewState["ValidateFontName"] != null)
return (string)ViewState["ValidateFontName"];
return string.Empty;
}
set
{
ViewState["ValidateFontName"] = value;
}
}
#endregion
#region 构造函数
public xxxTextBox() { }
#endregion
#region 重写子控件
protected override void EnsureChildControls()
{
this.rfvDataInput.CssClass = this.CssError;
this.rfvDataInput.ErrorMessage = "*输入不能为空";
this.rfvDataInput.Display = System.Web.UI.WebControls.ValidatorDisplay.Dynamic;
this.rfvDataInput.EnableViewState = true;
this.rfvDataInput.ControlToValidate = base.ID;
this.rfvDataInput.ForeColor = ValidateForeColor;
this.rfvDataInput.BackColor = ValidateBackColor;
if (ValidateFontSize != null)
{
this.rfvDataInput.Font.Size = ValidateFontSize;
}
this.rfvDataInput.Font.Bold = ValidateFontBold;
this.rfvDataInput.Font.Italic = ValidateFontItalic;
this.rfvDataInput.Font.Strikeout = ValidateFontStrikeout;
this.rfvDataInput.Font.Overline = ValidateFontOverLine;
this.rfvDataInput.Font.Underline = ValidateFontUnderline;
if (!string.IsNullOrEmpty(ValidateFontName))
this.rfvDataInput.Font.Name = ValidateFontName;
if (!string.IsNullOrEmpty(ValidateCSSClass))
this.rfvDataInput.CssClass = ValidateCSSClass;
this.revDataInput.CssClass = this.CssError;
this.revDataInput.ErrorMessage = "*输入格式错误";
this.revDataInput.Display = System.Web.UI.WebControls.ValidatorDisplay.Dynamic;
this.revDataInput.EnableViewState = true;
this.revDataInput.ControlToValidate = base.ID;
this.revDataInput.ForeColor = ValidateForeColor;
this.revDataInput.BackColor = ValidateBackColor;
if (ValidateFontSize != null)
{
this.revDataInput.Font.Size = ValidateFontSize;
}
this.revDataInput.Font.Bold = ValidateFontBold;
this.revDataInput.Font.Bold = ValidateFontBold;
this.revDataInput.Font.Italic = ValidateFontItalic;
this.revDataInput.Font.Strikeout = ValidateFontStrikeout;
this.revDataInput.Font.Overline = ValidateFontOverLine;
this.revDataInput.Font.Underline = ValidateFontUnderline;
if (!string.IsNullOrEmpty(ValidateFontName))
this.revDataInput.Font.Name = ValidateFontName;
if (!string.IsNullOrEmpty(ValidateCSSClass))
this.revDataInput.CssClass = ValidateCSSClass;
//将子控件添加到此自定义控件中
this.Controls.Add(rfvDataInput);
this.Controls.Add(revDataInput);
this.Controls.Add(pnlFrame);
if (this.ValidType == DataType.Date)
this.Attributes.Add("onfocus", "WdatePicker({isShowClear:false,readOnly:true})");
}
#endregion
c11_11_11
2008-12-12
打赏
举报
回复
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using System.Drawing.Design;
namespace xxx.Web.Control.xxxTextBox
{
/**/
/// <summary>
/// author rual by 2008-8-10
/// 重写的TextBox控件
/// <summary>
#region 枚举数据
/**/
/// <summary>
/// 验证数据类型
/// </summary>
public enum DataType
{
Never, //不验证
String, //字符串
Int, //整数
IntPostive, //大于0的整数
IntZeroPostive, //大于等于0的整数
Float, //数字
FloatPostive, //大于0的数字
FloatZeroPostive, //大于等于0的数字
Url,//URL 验证
Mail,//邮件验证
Date, //日期
ChineseChars, //汉字字符串
EnglishChars, //英文
EngNum, //英文和数字
EngNumUnerline, //英文、数字和下划线
PhoneNumber, //电话号码
MobileNumber, //手机号码
PostalCode, //邮政编码
QQ, //QQ号码
IdentityCode, //身份证号码
IP, //IP地址
Custom//自定义验证
}
#endregion
/**/
/// Attribute DefaultProperty指定组件的默认属性,ToolboxData指定当从IDE工具中的工具箱中拖动自定义控件时为它生成的默认标记
[DefaultProperty("AllowEmpty"), ToolboxData("<{0}:xxxTextBox runat=server></{0}:xxxTextBox>")]
public class xxxTextBox : System.Web.UI.WebControls.TextBox
{
#region 子控件
//private System.Web.UI.WebControls.TextBox txtDataInput = new TextBox();
private System.Web.UI.WebControls.RequiredFieldValidator rfvDataInput = new RequiredFieldValidator();
private System.Web.UI.WebControls.RegularExpressionValidator revDataInput = new RegularExpressionValidator();
private Panel pnlFrame = new Panel(); //承载其它控件的容器Panel控件
#endregion
private string error = "";
#region 控件自定义属性
[Bindable(true)]
[Category("自定义信息区")]
[Browsable(true)]
[Description("是否允许空值")]
[DefaultValue("true")]
public bool AllowEmpty
{
get { return ViewState["AllowEmpty"] == null ? true : (bool)ViewState["AllowEmpty"]; }
set { ViewState["AllowEmpty"] = value; }
}
[Bindable(true)]
[Category("自定义信息区")]
[Browsable(true)]
[Description("验证数据类型,默认为不验证")]
[DefaultValue("IntPostive")]
public DataType ValidType
{
get { return ViewState["ValidType"] == null ? DataType.Never : (DataType)ViewState["ValidType"]; }
set { ViewState["ValidType"] = value; }
}
[Bindable(true)]
[Browsable(true)]
[Category("自定义信息区")]
[Description("自定义验证错误信息")]
[DefaultValue("")]
public string ValidError
{
get { return ViewState["ValidError"] == null ? "" : (string)ViewState["ValidError"]; }
set { ViewState["ValidError"] = value; }
}
[Bindable(true)]
[Browsable(true)]
[Category("自定义信息区")]
[Description("自定义用于验证的正则表达式,ValidType 为 Custom 时有效")]
[DefaultValue("")]
public string ValidExpressionCustom
{
get { return ViewState["ValidExpressionCustom"] == null ? "" : (string)ViewState["ValidExpressionCustom"]; }
set { ViewState["ValidExpressionCustom"] = value; }
}
[Bindable(true)]
[Browsable(true)]
[Category("自定义信息区")]
[Description("错误信息提示的CSS类名")]
[DefaultValue("")]
public string CssError
{
get { return ViewState["CssError"] == null ? "" : (string)ViewState["CssError"]; }
set { ViewState["CssError"] = value; }
}
[Bindable(true)]
[Browsable(true)]
[Category("自定义信息区")]
[Description("验证控件的前景色")]
[DefaultValue("")]
public Color ValidateForeColor
{
get
{
if (ViewState["ValidateForeColor"] == null)
return Color.Red;
return (Color)ViewState["ValidateForeColor"];
}
set { ViewState["ValidateForeColor"] = value; }
}
[Bindable(true)]
[Browsable(true)]
[Category("自定义信息区")]
[Description("验证控件的背景色")]
[DefaultValue("")]
public Color ValidateBackColor
{
get
{
if (ViewState["ValidateBackColor"] == null)
return Color.Transparent;
return (Color)ViewState["ValidateBackColor"];
}
set { ViewState["ValidateBackColor"] = value; }
}
[Category("自定义信息区")]
[DefaultValue(""), RefreshProperties(RefreshProperties.Repaint), Description("验证控件的字体大小"), NotifyParentProperty(true)]
public FontUnit ValidateFontSize
{
get
{
if (ViewState["ValidateFontSize"] != null)
return (FontUnit)ViewState["ValidateFontSize"];
return FontUnit.Point(10);
}
set { ViewState["ValidateFontSize"] = value; }
}
[Category("自定义信息区")]
[DefaultValue("false"), RefreshProperties(RefreshProperties.Repaint), Description("验证控件的字体加粗"), NotifyParentProperty(true)]
public bool ValidateFontBold
{
get
{
if (ViewState["ValidateFontBold"] != null)
return (bool)ViewState["ValidateFontBold"];
return false;
}
set { ViewState["ValidateFontBold"] = value; }
}
[Category("自定义信息区")]
[DefaultValue("false"), RefreshProperties(RefreshProperties.Repaint), Description("验证控件的字体斜体"), NotifyParentProperty(true)]
public bool ValidateFontItalic
{
get
{
if (ViewState["ValidateFontItalic"] != null)
return (bool)ViewState["ValidateFontItalic"];
return false;
}
set { ViewState["ValidateFontItalic"] = value; }
}
[Category("自定义信息区")]
[DefaultValue("false"), RefreshProperties(RefreshProperties.Repaint), Description("验证控件的字体上划线"), NotifyParentProperty(true)]
public bool ValidateFontOverLine
{
get
{
if (ViewState["ValidateFontOverLine"] != null)
return (bool)ViewState["ValidateFontOverLine"];
return false;
}
set { ViewState["ValidateFontOverLine"] = value; }
}
c11_11_11
2008-12-12
打赏
举报
回复
请试用ajaxtoolkit 中的autocomplete 控件
wuyq11
2008-12-12
打赏
举报
回复
重写textbox属性和事件
参考
http://www.cnblogs.com/honliv/articles/809353.html
http://www.cnblogs.com/admin11/articles/1259577.html
colincat2004
2008-12-12
打赏
举报
回复
奇怪,为什么不用combobox来实现?那样更为方便吧?什么下拉效果和从数据库查出来的匹配项不都有地方显示了?
cyqlightrain
2008-12-12
打赏
举报
回复
呵呵,你有想法.
大部分见过的都是用Div模拟出来的效果!像google的search.
VB
控件
使用大全.rar
visual basic
控件
大全,内容详尽,是适合vb程序设计者的比较好的速查手册。
vb
控件
大全
vb
控件
大全,开发
控件
好帮手
Visual Basic 6编程技术大全 中译本扫描版带书签 2/2
Visual Basic 6编程技术大全 是非常详细和深入的Vb6学习教程,无论对初学者还是有经验的开发人员,都非常有帮助 第一部分基础篇1 第1章 VB6入门1 1.1 集成开发环境1 1.1.1 运行IDE1 1.1.2 选择工程类型1 1.1.3 IDE窗口2 1.1.4 菜单5 1.1.5 工具栏6 1.1.6 Toolbox7 1.2 第一个VB应用程序9 1.2.1 向窗体添加代码9 1.2.2 设置
控件
的属性10 1.2.3 为
控件
命名12 1.2.4 移动及重新调整
控件
尺寸13 1.2.5 设置Tab顺序13 1.2.6 添加代码14 1.2.7 运行和调试程序15 1.2.8 优化示例程序16 1.2.9 准备、编译、运行18 第2章关于窗体20 2.1 通用属性20 2.1.1 Left、Top、Width和Height属性21 2.1.2 ForeColor和BackColor属性21 2.1.3 Font属性23 2.1.4 Caption和Text属性24 2.1.5 Parent和Container属性25 2.1.6 Enabled和Visible属性25 2.1.7 hWnd属性26 2.1.8 TabStop和Tablndex属性26 2.1.9 MousePointer和Mouselcon属性27 2.1.10Tag属性28 2.1.11其他属性28 2.2 通用方法29 2.2.1 Move方法29 2.2.2 Refresh方法30 2.2.3 SetFocus方法30 2.2.4 ZOrder方法31 2.3 通用事件31 2.3.1 Click和DblClick事件31 2.3.2 Change事件32 2.3.3 GotFocus和LostFocus事件33 2.3.4 KeyPress、KeyDown和KeyUp事件33 2.3.5 MouseDown、MouseUp和 MouseMove事件35 2.4 Form对象37 2.4.1基本的Form属性37 2.4.2微调窗体的性能38 2.4.3 Form的生存期39 2.4.4 Controls集合43 2.4.5 Screen对象44 2.4.6打印文本45 2.4.7图形方法48 2.4.8 DrawMode属性51 2.4.9 ScaleMode属性54 2.4.10调色板支持56 第3章内部
控件
58 3.1
TextBox
控件
58 3.1.1 运行时属性59 3.1.2捕获键盘活动60 3.1.3数字的校验例程61 3.1.4 CausesValidation属性和Validate事件63 3.1.5自动跳格字段65 3.1.6格式化文本65 3.1.7多行
TextBox
控件
69 3.2 Label和Frame
控件
70 3.2.1 Label
控件
70 3.2.2 Frame
控件
71 3.3 CommandButton、CheckBox和 OptionButton
控件
71 3.3.1 CommandButton
控件
72 3.3.2 CheckBox
控件
72 3.3.3 OptionButton
控件
73 3.3.4使用图形化
控件
73 3.4 ListBox和ComboBox
控件
74 3.4.1 ListBox
控件
74 3.4.2 ComboBox
控件
81 3.5 PictureBox和Image
控件
83 3.5.1 PictureBox
控件
83 3.5.2 Image
控件
86 3.6滚动条
控件
86 3.7 DriveListBox、DirListBox和FileListBox
控件
89 3.8其他
控件
91 3.8.1Timer
控件
91 3.8.2 Line
控件
92 3.8.3 Shape
控件
92 3.8.4 OLE
控件
92 3.9菜单93 3.9.1运行时访问菜单94 3.9.2弹出式菜单95 3.10
控件
数组96 3.11共享事件过程97 3.11.1运行时创建
控件
97 3.11.2迭代
控件
数组中的项目98 3.11.3菜单项数组98 第4章变量与过程100 4.1变量的作用域和生存期100 4.1.1全局变量100 4.1.2模块级的变量101 4.1.3动态局部变量102 4.1.4静态局部变量102 4.2内置数据类型概述103 4.2.1整型数据类型103 4.2.2长整型数据类型104 4.2.3布尔数据类型104 4.2.4字节数据类型104 4.2.5单精度数据类型104 4.2.6双精度数据类型105 4.2.7字符串数据类型105 4.2.8货币数据类型106 4.2.9日期数据类型106 4.2.10对象数据类型106 4.2.11变量数据类型107
Visual Basic 6编程技术大全 中译本扫描版带书签 1/2
Visual Basic 6编程技术大全 是非常详细和深入的Vb6学习教程,无论对初学者还是有经验的开发人员,都非常有帮助 第一部分基础篇1 第1章 VB6入门1 1.1 集成开发环境1 1.1.1 运行IDE1 1.1.2 选择工程类型1 1.1.3 IDE窗口2 1.1.4 菜单5 1.1.5 工具栏6 1.1.6 Toolbox7 1.2 第一个VB应用程序9 1.2.1 向窗体添加代码9 1.2.2 设置
控件
的属性10 1.2.3 为
控件
命名12 1.2.4 移动及重新调整
控件
尺寸13 1.2.5 设置Tab顺序13 1.2.6 添加代码14 1.2.7 运行和调试程序15 1.2.8 优化示例程序16 1.2.9 准备、编译、运行18 第2章关于窗体20 2.1 通用属性20 2.1.1 Left、Top、Width和Height属性21 2.1.2 ForeColor和BackColor属性21 2.1.3 Font属性23 2.1.4 Caption和Text属性24 2.1.5 Parent和Container属性25 2.1.6 Enabled和Visible属性25 2.1.7 hWnd属性26 2.1.8 TabStop和Tablndex属性26 2.1.9 MousePointer和Mouselcon属性27 2.1.10Tag属性28 2.1.11其他属性28 2.2 通用方法29 2.2.1 Move方法29 2.2.2 Refresh方法30 2.2.3 SetFocus方法30 2.2.4 ZOrder方法31 2.3 通用事件31 2.3.1 Click和DblClick事件31 2.3.2 Change事件32 2.3.3 GotFocus和LostFocus事件33 2.3.4 KeyPress、KeyDown和KeyUp事件33 2.3.5 MouseDown、MouseUp和 MouseMove事件35 2.4 Form对象37 2.4.1基本的Form属性37 2.4.2微调窗体的性能38 2.4.3 Form的生存期39 2.4.4 Controls集合43 2.4.5 Screen对象44 2.4.6打印文本45 2.4.7图形方法48 2.4.8 DrawMode属性51 2.4.9 ScaleMode属性54 2.4.10调色板支持56 第3章内部
控件
58 3.1
TextBox
控件
58 3.1.1 运行时属性59 3.1.2捕获键盘活动60 3.1.3数字的校验例程61 3.1.4 CausesValidation属性和Validate事件63 3.1.5自动跳格字段65 3.1.6格式化文本65 3.1.7多行
TextBox
控件
69 3.2 Label和Frame
控件
70 3.2.1 Label
控件
70 3.2.2 Frame
控件
71 3.3 CommandButton、CheckBox和 OptionButton
控件
71 3.3.1 CommandButton
控件
72 3.3.2 CheckBox
控件
72 3.3.3 OptionButton
控件
73 3.3.4使用图形化
控件
73 3.4 ListBox和ComboBox
控件
74 3.4.1 ListBox
控件
74 3.4.2 ComboBox
控件
81 3.5 PictureBox和Image
控件
83 3.5.1 PictureBox
控件
83 3.5.2 Image
控件
86 3.6滚动条
控件
86 3.7 DriveListBox、DirListBox和FileListBox
控件
89 3.8其他
控件
91 3.8.1Timer
控件
91 3.8.2 Line
控件
92 3.8.3 Shape
控件
92 3.8.4 OLE
控件
92 3.9菜单93 3.9.1运行时访问菜单94 3.9.2弹出式菜单95 3.10
控件
数组96 3.11共享事件过程97 3.11.1运行时创建
控件
97 3.11.2迭代
控件
数组中的项目98 3.11.3菜单项数组98 第4章变量与过程100 4.1变量的作用域和生存期100 4.1.1全局变量100 4.1.2模块级的变量101 4.1.3动态局部变量102 4.1.4静态局部变量102 4.2内置数据类型概述103 4.2.1整型数据类型103 4.2.2长整型数据类型104 4.2.3布尔数据类型104 4.2.4字节数据类型104 4.2.5单精度数据类型104 4.2.6双精度数据类型105 4.2.7字符串数据类型105 4.2.8货币数据类型106 4.2.9日期数据类型106 4.2.10对象数据类型106 4.2.11变量数据类型107
Office2013FluentUserInterfaceControlIdentifiers
VSTO编程中,用到的office2013的用户接口
控件
标识。
C#
111,130
社区成员
642,542
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章