溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C# Winform TreeView CheckBox 部分顯示(代碼)

發(fā)布時(shí)間:2020-07-25 18:02:14 來(lái)源:網(wǎng)絡(luò) 閱讀:2423 作者:lqtc0722 欄目:編程語(yǔ)言
public partial class Form1Form
{
private const intTVIF_STATE = 0x8;
private const intTVIS_STATEIMAGEMASK = 0xF000;
private const intTV_FIRST = 0x1100;
private const intTVM_SETITEM = TV_FIRST + 63;
 
public Form1()
{
InitializeComponent();
this.treeView1.CheckBoxes = true;
this.treeView1.ShowLines = false;
this.treeView1.DrawMode = System.Windows.Forms.TreeViewDrawMode.OwnerDrawAll;
this.treeView1.DrawNode += new System.Windows.Forms.DrawTreeNodeEventHandler(this.treeView_DrawNode);
for(int i = 0; i < 10;++i)
{
this.treeView1.Nodes.Add(string.Format("First level {0}", i));
for(int j = 0; j < 5;j++)
{
this.treeView1.Nodes[i].Nodes.Add(string.Format("Second level {0}", j));
for(int k = 0; k < 5;k++)
{
this.treeView1.Nodes[i].Nodes[j].Nodes.Add(string.Format("Thirdlevel {0}", k));
}
}
}
this.treeView1.ExpandAll();
}
Private void treeView_DrawNode(object sender, DrawTreeNodeEventArgse)
{
if(e.Node.Level == 1)
HideCheckBox(this.treeView1,e.Node);
e.DrawDefault = true;
}
[StructLayout(LayoutKind.Sequential,Pack = 8, CharSet = CharSet.Auto)]
Private struct TVITEM
{
Public int mask;
Public IntPtr hItem;
Public int state;
Public int stateMask;
           [MarshalAs(UnmanagedType.LPTStr)]
Public string lpszText;
Public int cchTextMax;
Public int iImage;
Public int iSelectedImage; public int cChildren;public IntPtr lParam;
}
[DllImport("user32.dll",CharSet = CharSet.Auto)]
Private static extern IntPtr SendMessage(IntPtr hWnd,int Msg, IntPtr wParam,ref TVITEM lParam);
///<summary>
///Hides the checkbox for the specified node on a TreeView control. 
///</summary>
Private void HideCheckBox(TreeView tvw, TreeNodenode)
{
TVITEM tvi = new TVITEM();
tvi.hItem = node.Handle;
tvi.mask = TVIF_STATE;
tvi.stateMask = TVIS_STATEIMAGEMASK;
tvi.state = 0;
SendMessage(tvw.Handle, TVM_SETITEM, 
IntPtr.Zero, ref tvi);
}
}
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI