DotNetBar第三方控件使用笔记.docx
《DotNetBar第三方控件使用笔记.docx》由会员分享,可在线阅读,更多相关《DotNetBar第三方控件使用笔记.docx(22页珍藏版)》请在冰点文库上搜索。
DotNetBar第三方控件使用笔记
1、ButtonX控件
可实现如下效果:
(1)在ButtonX上,是否显示图像,取决于“images”属性。
(2)在“ButtomItem”控件中,是否“只是显示图像”,“只是文本”,还是“图像和文本都显示”,取决于
。
2、BalloonTip控件(气泡提示)
在添加了BalloonTip控件后,其他各个控件会出现对应的“……上的BalloonText”和“……上的BalloonCaption”属性,通过修改这两个属性可设置鼠标移动到控件时弹出的气泡提示的标题和内容,也可通过代码设置这个两个属性,如:
(txtUserName,"提示");
(txtUserName,"输入你的大名吧");
(txtUserPw,"提示;
(txtUserPw,"大名输完了就是你的密码咯");")
1.使用效果
1)效果一:
在鼠标在控件上面停留时,出现提示信息,如下图:
2)效果二:
当控件获得焦点时,也出现如上图一样的信息。
2.实现上述两种效果的途径
1)将BalloonTip控件的“ShowBalloonOnFacus”属性设置为“False”即可实现效果一。
3.设置BalloonTip显示的内容
2)将“ShowBalloonOnFacus”属性设置为“True”,即可实现效果二。
1)在欲设置该属性的控件的“BalloonTipOnFocus上的BalloonCaption”和“BalloonTipOnHover上的BalloonCaption”属性中,分别设置这两种效果的“标题”属性;
2)在“BalloonTipOnFocus上的BalloonText”和在“BalloonTipOnHover上的BalloonText”属性中,分别设置这两种效果的“显示内容”的属性。
4.属性“AlerAnimation”设置“BalloonTip”出现的效果
5.“BalloonTip”除了出现在该控件附近,还可以出现在屏幕的右下角,示例程序如下:
privateAlertCustomm_AlertOnLoad=null;
m_AlertOnLoad=newAlertCustom();
Rectangler=(this);
=newPoint,false指示该控件是否需要获得焦点才出现“BalloonTip”
6.“BalloonTip”除了可以通过“添加控件”的方式使用,也可以通过编程的方式使用,示例程序如下:
b=newasImage;
="BalloonStatusInFormation";
="BalloonsarenowenabledforBalloonTipTestarea.Hovermouseovertheareaandsetthefocustoanycontrol.";
=;
();
=true;
=4;
=this;Itprovidesautomaticfocusmanagementsofocused
.
=true;.
Barbar=newBar("Bar1");
="leftBar1";
=;ontheline1
bar=newBar("Bar3");
="leftBar3";
=;";
fileItem=newButtonItem("file2");
="&2.";
fileItem=newButtonItem("file3");
="&3.";
fileItem=newButtonItem("file4");
="&4.";
fileItem=newButtonItem("file5");
="&5.";
ETFramework中,默认是。
1.示例
(1)privateimageList1;
=("")));
=
ells[0].()。
1.DataGridView的示例代码
#region设置DataGridView的显示格式
==false;
=false;
=true;
isible=false;
"UName","用户名");
"IP","IP地址");
"DeptID","DeptID");
["DeptID"].Visible=false;
"Department","所属部门");
foreach(DataGridViewColumncolin
=;
=,);
elected=true;
3、控件ColorPicker的使用
1.使用效果:
1)单击相应的按钮,工作区(整体)的颜色发生变化。
2)随着鼠标在各种颜色上的移动,工作区(整体)的颜色随着变化。
3)还可以选择“MoreColors”进一步改变工作区的颜色。
2.下面是相应的代码
privateboolm_ColorSelected=false;
privateeOffice2007ColorSchemem_BaseColorScheme=;
}
else
1)改变颜色值
(m_BaseColorScheme,;
2)应用颜色值
(m_BaseColorScheme);
3.工作区的控件的颜色有可能不同时变化
原因:
是各个控件的“Style”和“ColorSchemeStyle”采用的风格不统一
解决办法:
都采用一种风格,如“Office2007”即可
4、控件SideBar的使用
1.功能
可实现如下图似的的分组:
2.实现方式
1)右键——>“AddPanel”,进行“分组”。
2)对每一个组进行设置。
3)右键,对每一个组,添加控件。
3.该控件的颜色策略
——,sSel,false);
=scheme;
privatevoidsideBar1_ItemClick(objectsender,e)
{
item=senderas"ItemClick:
"++"("++")\n"+;
}
5、Enum枚举类
1.方法
--返回指定枚举的基础类型。
-publicstaticTypeGetUnderlyingType(TypeenumType)
参数:
enumType
类型:
枚举类型。
返回值:
类型:
enumType的基础Type。
--示例
staticobjectGetAsUnderlyingType(Enumenval)
{
Typeentype=();
Typeundertype=(entype);
return(enval,undertype);
}
2.方法
--在指定枚举中检索具有指定值的常数的名称。
-publicstaticstringGetName(TypeenumType,Objectvalue)
参数:
enumType
类型:
枚举类型。
value
类型:
特定枚举常数的值(根据其基础类型)。
返回值:
类型:
一个字符串,该字符串包含enumType的枚举常数的名称,该常数的值为value;或者,如果没有找到这样的常数,则为nullNothingnullptrnull引用(在VisualBasic中为Nothing)。
--示例
usingSystem;
publicclassGetNameTest
{
enumColors{Red,Green,Blue,Yellow};
enumStyles{Plaid,Striped,Tartan,Corduroy};
publicstaticvoidMain()
{
("The4thvalueoftheColorsEnumis{0}",(typeof(Colors),3));
("The4thvalueoftheStylesEnumis{0}",(typeof(Styles),3));
}
}
3.方法
--检索指定枚举中常数名称的数组。
--publicstaticstring[]GetNames(TypeenumType)
参数:
enumType
类型:
System..:
:
.Type
枚举类型。
返回值:
类型:
array<>[]()[]
enumType的常数名称的字符串数组。
--示例
usingSystem;
publicclassGetNamesTest
{
enumColors{Red,Green,Blue,Yellow};
enumStyles{Plaid,Striped,Tartan,Corduroy};
publicstaticvoidMain()
{
("ThevaluesoftheColorsEnumare:
");
foreach(stringsin(typeof(Colors)))
(s);
();
("ThevaluesoftheStylesEnumare:
");
foreach(stringsin(typeof(Styles)))
(s);
}
}
4.方法
--检索指定枚举中常数值的数组。
--publicstaticArrayGetValues(TypeenumType)
参数:
enumType
类型:
枚举类型。
返回值:
类型:
enumType的常数值的Array。
该数组的元素按枚举常数的二进制值排序。
--示例
usingSystem;
publicclassGetValuesTest
{
enumColors{Red,Green,Blue,Yellow};
enumStyles{Plaid=0,Striped=23,Tartan=65,Corduroy=78};
publicstaticvoidMain()
{
("ThevaluesoftheColorsEnumare:
");
foreach(intiin(typeof(Colors)))
(i);
();
("ThevaluesoftheStylesEnumare:
");
foreach(intiin(typeof(Styles)))
(i);
}
}
5.:
:
.Parse方法
--将一个或多个枚举常数的名称或数字值的字符串表示转换成等效的枚举对象。
名称
说明
Parse(Type,String)
将一个或多个枚举常数的名称或数字值的字符串表示转换成等效的枚举对象。
String包含要转换的值或名称的字符串。
备注:
value参数中包含一个值、一个已命名常数或由逗号(,)分隔的已命名常数列表。
在value中的每个值、名称或逗号的前面或后面都可以有一个或多个空格。
如果value是一个列表,则返回值是各指定名称通过按位“或”运算结合而成的值。
示例:
[FlagsAttribute]
enumColors
{Red=1,Green=2,Blue=4,Yellow=8};
("TheentriesoftheColorsEnumare:
");
foreach(stringcolorNamein(typeof(Colors)))
{
(
"{0}={1}",colorName,(typeof(Colors),colorName))
);
}
();
ColorsmyOrange=(Colors)(typeof(Colors),"Red,Yellow");
("ThemyOrangevalue{1}hasthecombinedentriesof{0}",
myOrange,(myOrange));
Parse(Type,String,Boolean)
将一个或多个枚举常数的名称或数字值的字符串表示转换成等效的枚举对象。
一个参数指定该操作是否区分大小写。
Boolean参数指定该操作是否区分大小写
1)示例:
(typeof,sSel,false)
6、MoneyStyle
1.示例代码1
.");
=true;.");
Archive
menuItem=newButtonItem("mArchive","&Archive...");
Exit
menuItem=newButtonItem("mExit","E&xit");
=true;
将新建的Bar添加到dotNetBarManager1
然后,设置摆放位置
=;
2.示例代码2
hecked)
returnitemasButtonItem;
elseif
{
ButtonItembutton=GetCheckedButton,exclude);
if(button!
=null)
returnbutton;
}
}
returnnull;
}
privatevoidcolumnContainer_Click(objectsender,EventArgse)
{
(columnSelector);
=true;
}
7、控件ListViewEx的使用
1.示例的使用效果
其中:
1)标题头部分通过属性“Columns”设置
2)内容部分
前面有图标部分,通过“Items”属性设置
后面的几列,通过“Items”的“SubItems”属性设置
3)
可以通过设置该属性,可以使实现各种排列方式。
8、控件SuperToolTip的使用
1.示例的使用效果
2.用法:
只是将控件SuperToolBar添加到工程中,然后,再在要加入上述效果的控件的属性中,找到“superTooltip上的SuperTooltip”,单击。
随后,会出现如上图所示的对话框,然后,就可以根据该对话框上的提示进行操作。
值得注意的是:
这里也可以使用Html语言,使用超链接(实际的效果类似于LinkButton控件),为该控件添加更多的功能。
只不过的是:
需要在SuperToolTip控件的事件进行必要的设置。
通过程序为控件设置“superTooltip上的SuperTooltip”所应该设置的内容,下面以为TreeView控件的node节点进行相关设置进行说明:
1)首先,定义了一个NodeSuperTooltipProvider类,为每一个node对象,提供SuperTooltip功能
\n\r"+,null,null,
href="+;
}
9、控件expandableSplitter和控件TabControl的使用
1.expandableSplitter控件的使用示例
控件expandableSplitter将容器的可显示区域分成两个可以调整大小的区域。
建议用法:
1)从左到右,按顺序,一次,拖入如下控件,某个容器控件(Dock设置为Left),ExpandableSplitter控件(Dock设置为Left)以及另一个容器控件(Dock设置为Fill)
2)如果想实现“在控件expandableSplitter的SplitterBar上单击一下,也能将该控件控制的区域收起或放开“的功能,可在属性中设置。
注意的是:
在选项中,选择那个控件,那在单击“SplitterBar“时,就收起或打开哪个控件。
3)从网上下载的相关资料
DotNetBar中ExpandableSplitter使用技巧
为了实现如下图1到图2效果,用ExpandableSplitter很方便,设置ExpandableSplitter的ExpandedControl属性为panelEx_Right即可。
但是想实现图3的效果,本以为用这个控件加上Form的Autosize属性即可。
没想搞了半天发现不管是Form用Autosize让panel_right的Dock为Fill,还是panel_right锚定都无法实现这个效果。
图1
图2
仔细想想,Autosize肯定不行,其和Dock在实现上就是是矛盾的,呵呵。
真是懒习惯了,动手加下边几句就可以解决,在这里记录一下。
publicpartialclassTest:
Form
{
ext);
}
}
privatevoidSetTabStyle(eTabStripStylestyle)
{
=style;
foreach(TabItemtabin
=;
}
privatevoidtabControl1_MouseDown(objectsender,e)
{
if!
=
return;
1)
{0,25}",p0);ET框架开发人员指南”或文档中的主题图片格式数字串(英文)。
在下例中您将注意到,好心的博士既使用了“#”字符,又使用了“0”字符。
如果相应的数字是前导零或尾随零,“#”字符就会替换为空值。
无论相应数字的值如何,“0”字符都会被替换为零字符——因此,数字将会被零填补。
句号(如果有的话)表示小数分隔符的位置。
10、SideBar控件实现图标的相互拖动
下面的代码可以将下图,左侧的图标和右侧的图标相互拖动入对方
privatevoidlistView1_DragEnter(objectsender,e)
{
if(m_InternalDragDrop)
return;
if=;
else
=;
}
privatevoidlistView1_DragDrop(objectsender,e)
{
if(m_InternalDragDrop)
return;
ButtonItemitem=asButtonItem;
if(item==null)
return;
,;
voidlistView1_MouseMove(objectsender,e)
{
if==&&>=4||>=4))
{
if{
ButtonItemitem=newButtonItem("dragitem",[0].Text);
=[0].ImageIndex;
=;
=;
m_InternalDragDrop=true;
if(item,==
{
}
m_InternalDragDrop=false;
}
}
}
11、控件SideBar的使用
(1)使用效果,见上图
(2)使用起来不难
(3)改变图标大小,及删除图标的程序
privatevoidbLargeIcons_Click(objectsender,e)
{
if!
=null)
voidbSmallIcons_Click(objectsender,e)
{
if!
=null)
voidbRemoveItem_Click(objectsender,e)
{
if(m_HotItem!
=null)
{
if("Areyousureyouwanttoremove'"++"'?
","RemoveItem",,,==
{
}
}
}
(4)与图标排列列数相关的程序
foreach(SideBarPanelItempanelin
=?
:
;
();
12、控件ExpandablePanel的使用
(1)使用效果
,实际上提供了一个可收缩的控件容器,单击标有数字“1”、“2”的地方,Panel收起或打开。
(2)
1)属性,与该ExpanblePanel控件“收起/打开”的方式有关。
2)属性,与该控件在运行开始后的初始状态“是开,还是闭”有关。
3)属性,设置为“True”时,单击“效果图”中“Title”也会把该控件打开或收起。
4)属性和控件的整体颜色风格有关。
5)这两个属性,和控件的“打开、收缩”按钮的样子有关,示例为默认风格,和为自定义风格。
13、控件ExplorerBar和控件PropertyGrid的使用
控件“ExplorerBar”和控件“PropertyGrid”一起使用,可实现如下图所示的功能:
(1)也是用来分组,且分的组可收缩。
(2)提供属性页。
(3)下面这段程序,将和关联起来:
privatevoidexplorerBar1_ItemClick(objectsender,EventArgse)
{
if(senderis=sender;
else
=null;
}
14、界面示例
下面的程序实现如下图所示的界面:
ExplorerBarGroupItemgroup=newExplorerBarGroupItem("group1","Search");
();
label=newLabelItem("searchLabel","Searchbyanyorallofthecriteriabelow.");
=true;
=true;
=newFont,;
LabelItem("searchLabel1","Allorpartofthefilename:
");
=true;
=true;
将TextBox放在ExplorerBar上
TextBoxItemtextItem=newTextBoxItem("txtFileName");
=true;
将Label放在ExplorerBar上
label=newLabelItem("searchLabel2","Lookin:
");
=true;
=true;
将ComboBox放在ExplorerBar上
ComboBoxItemcombo=newComboBoxItem("cboLookIn");
=true;
cboItem=new"MyComputer";
ExplorerBarGroupItem("group2","Whenwasitmodified?
");
();
ET控件放在ExplorerBar上,本例为RadioButton
et出现之前提供的ActiveX控件,用来为应用程序增加浏览功能,具备这个功能的基础是该控件对应的Dll文件是InternetExplorer的一部分,所以它能