C#学习笔记TreeView Class.docx
- 文档编号:5505834
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:14
- 大小:27.30KB
C#学习笔记TreeView Class.docx
《C#学习笔记TreeView Class.docx》由会员分享,可在线阅读,更多相关《C#学习笔记TreeView Class.docx(14页珍藏版)》请在冰豆网上搜索。
C#学习笔记TreeViewClass
2014-02-16
TreeViewClass
Displaysahierarchicalcollectionoflabeleditems,eachrepresentedbyaTreeNode.
Namespace:
System.Windows.Forms
Assembly:
System.Windows.Forms(inSystem.Windows.Forms.dll)
Syntax:
publicclassTreeView:
Control
Remarks:
TheNodescollectionholdsalltheTreeNodeobjectsthatareassignedtotheTreeViewcontrol.Thetreenodesinthiscollectionarereferredtoastheroottreenodes.Anytreenodethatissubsequentlyaddedtoaroottreenodeisreferredtoasachildnode.BecauseeachTreeNodecancontainacollectionofotherTreeNodeobjects,youmightfinditdifficulttodetermineyourlocationinthetreestructurewhenyouiteratethroughthecollection.YoucanparsetheTreeNode.FullPathstringbyusingthePathSeparatorstringvaluetodeterminewhereaTreeNodelabelbeginsandends.
YoucandisplayimagesnexttothetreenodesbyassigninganImageListtotheImageListpropertyandreferencingtheindexvalueofanImageintheImageListtoassignthatImage.Usethefollowingpropertiestoassignimages:
·SettheImageIndexpropertytotheindexvalueoftheImagethatyouwanttodisplaywhenatreenodeisnotselected.
·SettheSelectedImageIndexpropertytotheindexvalueoftheImagethatyouwanttodisplaywhenatreenodeisselected.
TheimagesreferencedbytheImageIndexandSelectedImageIndexpropertyvaluesarethedefaultimagesdisplayedbyallthetreenodesthatareassignedtotheNodescollection.IndividualtreenodescanoverridethedefaultimagesbysettingtheTreeNode.ImageIndexandTreeNode.SelectedImageIndexproperties.
Treenodescanbeexpandedtodisplaythenextlevelofchildtreenodes.TheusercanexpandtheTreeNodebyclickingtheplus-sign(+)button,ifoneisdisplayednexttotheTreeNode,oryoucanexpandtheTreeNodebycallingtheTreeNode.Expandmethod.ToexpandallthechildtreenodelevelsintheNodescollection,calltheExpandAllmethod.YoucancollapsethechildTreeNodelevelbycallingtheTreeNode.Collapsemethod,ortheusercanpresstheminus-sign(-)button,ifoneisdisplayednexttotheTreeNode.YoucanalsocalltheTreeNode.Togglemethodtoalternatebetweentheexpandedandcollapsedstates.
Treenodescanoptionallydisplaycheckboxes.Todisplaythecheckboxes,settheCheckBoxespropertyoftheTreeViewtotrue.TheCheckedpropertyissettotruefortreenodesthatareinacheckedstate.
Note:
SettingtheTreeNode.CheckedpropertyfromwithintheBeforeCheckorAfterCheckeventcausestheeventtoberaisedmultipletimesandcanresultinunexpectedbehavior.Forexample,youmightsettheCheckedpropertyintheeventhandlerwhenyouarerecursivelyupdatingthechildnodessothattheuserdoesnothavetoexpandandcheckeachoneindividually.Topreventtheeventfrombeingraisedmultipletimes,addlogictoyoureventhandlerthatonlyexecutesyourrecursivecodeiftheActionpropertyoftheTreeViewEventArgsisnotsettoTreeViewAction.Unknown.Foranexampleofhowtodothis,seetheExamplesectionoftheAfterCheckorBeforeCheckevents.
YoucanchangetheappearanceoftheTreeViewcontrolbysettingsomeofitsdisplayandstyleproperties.SettingShowPlusMinustotruedisplaysaplus-signorminus-signbuttonnexttoeachTreeNodethatcanbeexpandedorcollapsed,respectively.SettingtheShowRootLinespropertytotruecausestheTreeViewtodisplaylinesthatjoinalltheroottreenodestogether.YoucandisplaylinesthatconnectchildtreenodestotheirrootnodebysettingtheShowLinespropertytotrue.SettingtheHotTrackingpropertytotruechangestheappearanceofthetreenodelabelsasthemousepointerpassesoverthem.Whenhot-tracked,thetreenodelabelstakeontheappearanceofahyperlink.YoucanalsocompletelycustomizetheappearanceoftheTreeViewcontrol.Todothis,settheDrawModepropertytoavalueotherthanTreeViewDrawMode.NormalandhandletheDrawNodeevent.
Note:
WhensettingtheCheckBoxes,Scrollable,ImageIndex,andSelectedImageIndexpropertiesatruntime,theTreeViewhandleisrecreated(seeControl.RecreateHandle)toupdatethecontrol'sappearance.Thiscausesalltreenodestobecollapsed,exceptfortheselectedTreeNode.
Constructor:
publicTreeView():
InitializesanewinstanceoftheTreeViewclass.
Properties:
1、AllowDrop:
publicvirtualbool型,Getsorsetsavalueindicatingwhetherthecontrolcanacceptdatathattheuserdragsontoit.Thedefaultisfalse.
NotestoInheritors:
WhenoverridingtheAllowDroppropertyinaderivedclass,usethebaseclass'sAllowDroppropertytoextendthebaseimplementation.Otherwise,youmustprovidealltheimplementation.YouarenotrequiredtooverrideboththegetandsetaccessorsoftheAllowDropproperty;youcanoverrideonlyoneifneeded.
2、Anchor:
publicvirtualAnchorStyles型,Getsorsetstheedgesofthecontainertowhichacontrolisboundanddetermineshowacontrolisresizedwithitsparent.ThedefaultisTopandLeft.
Remarks:
UsetheAnchorpropertytodefinehowacontrolisautomaticallyresizedasitsparentcontrolisresized.Anchoringacontroltoitsparentcontrolensuresthattheanchorededgesremaininthesamepositionrelativetotheedgesoftheparentcontrolwhentheparentcontrolisresized.
Youcananchoracontroltooneormoreedgesofitscontainer.Forexample,ifyouhaveaFormwithaButtonwhoseAnchorpropertyvalueissettoTopandBottom,theButtonisstretchedtomaintaintheanchoreddistancetothetopandbottomedgesoftheFormastheHeightoftheFormisincreased.
Note:
TheAnchorandDockpropertiesaremutuallyexclusive.Onlyonecanbesetatatime,andthelastonesettakesprecedence.
NotestoInheritors:
WhenoverridingtheAnchorpropertyinaderivedclass,usethebaseclass'sAnchorpropertytoextendthebaseimplementation.Otherwise,youmustprovidealltheimplementation.YouarenotrequiredtooverrideboththegetandsetaccessorsoftheAnchorproperty;youcanoverrideonlyoneifneeded.
3、AutoScrollOffset:
publicvirtualPoint型,GetsorsetswherethiscontrolisscrolledtoinScrollControlIntoView.Thedefaultistheupper-leftcornerofthecontrol.
4、AutoSize:
publicvirtualbool型,ThisAPIsupportsthe.NETFrameworkinfrastructureandisnotintendedtobeuseddirectlyfromyourcode.Thispropertyisnotrelevantforthisclass.
5、BackColor:
publicoverrideColor型,Getsorsetsthebackgroundcolorforthecontrol.ThedefaultisthevalueoftheDefaultBackColorproperty.
6、Bottom:
publicint型,Getsthedistance,inpixels,betweenthebottomedgeofthecontrolandthetopedgeofitscontainer'sclientarea.
Remarks:
ThevalueofthispropertyisequaltothesumoftheToppropertyvalue,andtheHeightpropertyvalue.
TheBottompropertyisaread-onlyproperty.YoucanmanipulatethispropertyvaluebychangingthevalueoftheToporHeightpropertiesorcallingtheSetBounds,SetBoundsCore,UpdateBounds,orSetClientSizeCoremethods.
7、BorderStyle:
public BorderStyle型,Getsorsetstheborderstyleofthetreeviewcontrol.
Remarks:
Whenthe BorderStyle propertyissetto Fixed3D,the TreeView hasasunken,three-dimensionalappearance.Todisplayaflat,thinborderaroundthe TreeView control,setthe BorderStyle propertyto FixedSingle.
8、CanFocus:
publicbool型,Getsavalueindicatingwhetherthecontrolcanreceivefocus.
Remarks:
Inorderforacontroltoreceiveinputfocus,thecontrolmusthaveahandleassignedtoit,andtheVisibleandEnabledpropertiesmustbothbesettotrueforboththecontrolandallitsparentcontrols,andthecontrolmustbeaformorthecontrol'soutermostparentmustbeaform.
9、CanRaiseEvents:
protectedoverridebool型,Determinesifeventscanberaisedonthecontrol.
Remarks:
IfthiscontrolisbeinghostedasanActiveXcontrol,thispropertywillreturnfalseiftheActiveXcontrolhasitseventsfrozen.
10、CanSelect:
publicbool型,Getsavalueindicatingwhetherthecontrolcanbeselected.
Remarks:
ThispropertyreturnstrueiftheSelectablevalueofSystem.Windows.Forms.ControlStylesissettotrue,iscontainedinanothercontrol,thecontrolitselfisvisibleandenabled,andallitsparentcontrolsarevisibleandenabled.
TheWindowsFormscontrolsinthefollowinglistarenotselectableandwillreturnavalueoffalsefortheCanSelectproperty.Controlsderivedfromthesecontrolsarealsonotselectable.
·Panel·GroupBox·PictureBox·ProgressBar·Splitter·Label·LinkLabel(whenthereisnolinkpresentinthecontrol)
11、Capture:
publicbool型,Getsorsetsavalueindicatingwhetherthecontrolhascapturedthemouse.
Remarks:
Whenacontrolhascapturedthemouse,itreceivesmouseinputwhetherornotthecursoriswithinitsborders.Themouseistypicallyonlycapturedduringdragoperations.
Onlytheforegroundwindowcancapturethemouse.Whenabackgroundwindowattemptstodoso,thewindowreceivesmessagesonlyformouseeventsthatoccurwhenthemousecursoriswithinthevisibleportionofthewindow.Also,eveniftheforegroundwindowhascapturedthemouse,theusercanstillclickanotherwindow,bringingittotheforeground.
Whenthemouseiscaptured,shortcutkeysshouldnotwork.
12、CheckBoxes:
publicbool型,Getsorsetsavalueindicatingwhethercheckboxesaredisplayednexttothetreenodesinthetreeviewcontrol.Thedefaultisfalse.
Remarks:
AcheckboxisdisplayedtotheleftofboththetreenodelabelandtreenodeImage,ifany.Checkboxesallowtheusertoselectmorethanonetreenodeatatime.
WhentheCheckBoxespropertyofaTreeViewissettotrue,andtheStateImageListpropertyisset,eachTreeNodethatiscontainedintheTreeViewdisplaysthefirstandsecondimagesfrom
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C#学习笔记TreeView Class C# 学习 笔记 TreeView