使用视觉样式定义控件外观.docx
《使用视觉样式定义控件外观.docx》由会员分享,可在线阅读,更多相关《使用视觉样式定义控件外观.docx(13页珍藏版)》请在冰豆网上搜索。
使用视觉样式定义控件外观
使用视觉样式定义控件外观
基于任务的InputforWinForms帮助文档>使用视觉样式定义控件外观
设定C1Input控件的VisualStyle属性可以改变控件的背景以及边框,这些控件包括C1TextBox,C1Label,C1DbNavigator,C1DropDownControl,C1DateEdit(包括下拉的日历控件),C1NumericEdit(包括下拉的计算器控件)以及C1Button。
C1Input控件的视觉样式定义了控件的外观,可以设定的样式有:
Custom,Office2007Black,Office2007Blue,Office2007Silver,System,Office2010Blue,Office2010Black,以及Office2010Silver.该属性在设计时和代码中都可以设定,下面的表格详细介绍了每一种样式:
VisualStyle
描述
Custom
没有应用视觉样式,通常使用styles和appearance属性来设定外观。
Office2007Black
Office2007黑色主题样式。
Office2007Blue
Office2007蓝色主题样式。
Office2007Silver
Office2007银色主题样式。
System
当前操作系统主题样式。
Office2010Blue
Office2010蓝色主题样式。
Office2010Black
Office2010黑色主题样式。
Office2010Silver
Office2010银色主题样式
使用设计器更改样式
在设计时选中控件,打开属性窗口,定位到VisualStyle属性,可以设置该属性为Custom,Office2007Black,Office2007Blue,Office2007Silver,System,Office2010Blue,Office2010Black,和Office2010Silver。
下面的例子中将C1TextBox的VisualStyle属性设定为Office2007Blue。
使用代码更改样式
在页面的Form_Load事件中设置控件的VisualStyle属性为Custom,Office2007Black,Office2007Blue,Office2007Silver,System,Office2010Blue,Office2010Black,和Office2010Silver。
下面的例子中将C1TextBox的VisualStyle属性设定为Office2007Blue。
VisualBasic代码
VisualBasic
拷贝代码
Me.C1TextBox1.VisualStyle=C1.Win.C1Input.VisualStyle.Office2007Blue
C#代码
C#
拷贝代码
this.C1TextBox1.VisualStyle=C1.Win.C1Input.VisualStyle.Office2007Blue;
定义C1DateEdit控件的外观
基于任务的InputforWinForms帮助文档>自定义C1DateEdit控件外观
本主题介绍了如何自定义C1DateEdit控件的下拉日历的样式,默认情况下下拉日历如下图:
按钮是否可见
按照下面的步骤开发人员可以隐藏下拉日历中的Clear和Today按钮:
1.选中C1DateEdit控件。
2.在属性窗口,展开Calendar属性节点。
3.将ShowClearButton和ShowTodayButton属性设置为False。
日期显示格式
通过FormatType属性开发人员可以编辑C1DateEdit控件的显示文本。
默认情况下日期和时间都会显示,如果只希望显示日期,参考下面的步骤:
1.选中C1DateEdit控件。
2.在属性窗口中,将FormatType属性更改为ShortDate。
在文本框中显示点击的C1DropDown控件按钮
基于任务的InputforWinForms帮助文档>在文本框中显示点击的C1DropDown控件按钮
为了能够显示点击的C1DropDown控件按钮,需要使用C1DropDownControl的UpDownButtonClick事件,在下面的例子中点击的按钮会显示在文本框中。
VisualBasic代码
VisualBasic
拷贝代码
PrivateSubC1DropDownControl1_UpDownButtonClick(ByValsenderAsObject,ByValeAsC1.Win.C1Input.UpDownButtonClickEventArgs)HandlesC1DropDownControl1.UpDownButtonClick
If(e.Delta=1)Then
Me.TextBox1.AppendText("Up"&ControlChars.CrLf)ElseIf(e.Delta=-1)Then
Me.TextBox1.AppendText("Down"&ControlChars.CrLf)EndIf
EndSub
C#代码
C#
拷贝代码
privatevoidc1DropDownControl1_UpDownButtonClick(objectsender,C1.Win.C1Input.UpDownButtonClickEventArgse)
{
if((e.Delta==1))
{
this.textBox1.AppendText("Up\r\n");
}
elseif((e.Delta==-1))
{
this.textBox1.AppendText("Down\r\n");
}
}
本主题介绍内容如下:
当C1DropDownControl控件的上或者下按钮被点击的时候,文本“Up”或者“Down”会显示在文本框中,用来显示那个按钮被点击。
产品支持论坛|意见反馈
定义PictureBox控件的外观
基于任务的InputforWinForms帮助文档>自定义PictureBox外观
像大多数控件一样开发人员可以使用C1.Input.PictureBox.Size属性来更改控件的大小,但是PictureBox中呈现的图片可能会被切去一部分或者有一些留白。
或者…
在程序运行时开发人员可能想增大图片的大小,如果你增加了PictureBox控件的大小,你还需要更改PictureBox的SizeMode属性,以便于内部图片能够被拉伸来匹配控件大小。
在PictureBox中扩展图片
1.创建.NET项目,添加下面的控件到表单上:
•C1ExpressTable1(C1.Data.Express.C1ExpressTable)
•C1Label1-3(C1.Win.C1Input.C1Label)
•C1PictureBox1(C1.Win.C1Input.C1PictureBox)
•C1TextBox1(C1.Win.C1Input.C1TextBox)
•C1DbNavigator1(C1.Win.C1Input.C1DbNavigator)
1.按照下图放置控件:
2.在C1ExpressTable控件的ConnectionString
属性中输入以下字符串:
"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="C:
\ProgramFiles\ComponentOneStudio.NET2.0\Common\Nwind.mdb"
注意:
步骤三假设在ComponentOne控件的安装位置有一个数据库文件NWind.mdb,如果你在其他位置有一个数据库文件,需要调整以下代码。
3.使用属性窗口,设定控件的数据源属性:
属性
值
C1DbNavigator1.DataSource
C1ExpressTable1
C1Label1.DataSource
C1ExpressTable1
C1Label1.DataField
LastName
C1Label2.DataSource
C1ExpressTable1
C1Label2.DataField
FirstName
C1Label3.DataSource
C1ExpressTable1
C1Label3.DataField
HireDate
C1PictureBox1.DataSource
C1ExpressTable1
C1PictureBox1.DataField
Photo
C1TextBox1.DataSource
C1ExpressTable1
C1TextBox1.DataField
Notes
4.运行程序你会发现PictureBox被没有被图片完全覆盖,会有一大片留白,还需要调整PictureBox属性来拉伸图片。
5.将C1PictureBox1的SizeMode属性从Normal调整到StretchImage。
6.
运行程序,注意到图片被拉伸至完全填充PictureBox。
C1DateEdit控件导航
基于任务的InputforWinForms帮助文档>C1DateEdit控件导航在程序运行时C1DateEdit控件获得焦点的时候,如果在键盘上点击回车键或者Tab键,或者使用鼠标点击其他控件,C1DateEdit控件会丢失焦点,当同时当前日期会被自动填充至控件。
如果不希望C1DateEdit控件在丢失焦点的时候被填充,参照下面的步骤:
使用设计器:
1.创建一个新的.NET程序,添加C1DateEdit控件和C1TextBox控件到表单上。
2.在属性窗口设置C1DateEdit.NullText属性为“{EmptyValue}”。
运行程序选中C1DateEdit控件,使用鼠标或者键盘让C1TextBox获得焦点,当前时间会显示在C1DateEdit控件中。
注意到焦点确实被移至C1TextBox控件,但是当前日期被填充至C1DateEdit。
3.使用属性窗口将C1DateEdit1的DateTimeInput属性更改为False,
C1DateEdit1的EmptyAsNull属性更改为True.
4.运行程序点击TextBox控件,
注意到焦点被移至C1TextBox,C1DateEdit控件将继续保留空值
使用代码:
1.创建一个.NET工程,并且添加C1Input控件的引用。
2.在代码中导入C1Input的命名空间。
VisualBasic代码
ImportsC1.Win.C1Input
C#代码
C#
拷贝代码
usingC1.Win.C1Input;
3.在Form_Load事件中添加C1DateEdit控件和C1TextBox控件。
ToVisualBasic代码
VisualBasic
拷贝代码
DimXAsNewC1DateEditControls.Add(X)
X.Location=NewPoint(50,40)DimYAsNewC1TextBoxControls.Add(Y)
Y.Location=NewPoint(100,80)
C#代码
C#
拷贝代码
C1DateEditX=newC1DateEdit();Controls.Add(X);
X.Location=newPoint(50,40);C1TextBoxY=newC1TextBox();Controls.Add(Y);
Y.Location=newPoint(100,80);
4.为了设置空值的时候控件显示的字符,添加下面的代码:
VisualBasic代码
X.NullText="{EmptyValue}"
C#代码
C#
拷贝代码
X.NullText="{EmptyValue}";
运行程序选中C1DateEdit控件,使用鼠标或者键盘让C1TextBox获得焦点,当前时间会显示在C1DateEdit中。
5.如果需要在C1DateEdit丢失焦点的时候保留空值,使用下面的代码:
VisualBasic代码
VisualBasic
拷贝代码
X.DateTimeInput=FalseX.EmptyAsNull=False
C#代码
C#
拷贝代码
X.DateTimeInput=False;X.EmptyAsNull=False;
RuntheProgramandclickonC1DateEditcontrol,the
6.
点击C1TextBox
运行程序点击C1TextBox控件,将焦点移至C1TextBox,C1DateEdit控件将继续保留空值。