C# 常用控件(学习笔记8)

1. TreeView 树形控件

img

/// <summary>
/// 添加
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnTreeAdd_Click(object sender, EventArgs e)
{
    treeView1.Nodes.Clear();

    TreeNode root = new TreeNode
    {
        Text = "Root",
        Tag = "Tag0",
        Name = "Name0"
    };
    root.Nodes.Add(new TreeNode
    {
        Text = "节点1",
        Tag = "Tag1",
        Name = "Name1"
    });
    root.Nodes.Add(new TreeNode
    {
        Text = "节点2",
        Tag = "Tag2",
        Name = "Name2"
    });
    root.Nodes.Add(new TreeNode
    {
        Text = "节点3",
        Tag = "Tag3",
        Name = "Name3"
    });
    root.Nodes[1].Nodes.Add(new TreeNode
    {
        Text = "节点21",
        Tag = "Tag21",
        Name = "Name21"
    });
    root.Nodes[1].Nodes.Add(new TreeNode
    {
        Text = "节点22",
        Tag = "Tag22",
        Name = "Name22"
    });
    treeView1.Nodes.Add(root);
    treeView1.ExpandAll();
}

/// <summary>
/// 选中
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnTreeSelect_Click(object sender, EventArgs e)
{
    if (treeView1.SelectedNode != null)
    {
        MessageBox.Show(treeView1.SelectedNode.Text + " " + treeView1.SelectedNode.Tag);
    }

}

/// <summary>
/// 编辑
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnTreeEdit_Click(object sender, EventArgs e)
{
    if (treeView1.Nodes.Count > 0 && treeView1.Nodes[0].Nodes.Count > 2)
    {
        treeView1.Nodes[0].Nodes[2].Text = "节点3,改变一下!";
    }
}

/// <summary>
/// 删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnTreeDelete_Click(object sender, EventArgs e)
{
    if (treeView1.Nodes.Count > 0 && treeView1.Nodes[0].Nodes.Count > 1 && treeView1.Nodes[0].Nodes[1].Nodes.Count > 1)
    {
        treeView1.Nodes[0].Nodes[1].Nodes[1].Remove();
    }
}

/// <summary>
/// 所有节点的递归调用
/// </summary>
/// <param name="node"></param>
private void getNodes(TreeNode node)
{
    if (node != null)
    {
        textBox1.AppendText(node.Text + "\r\n");
        for (int i = 0; i < node.Nodes.Count; i++)
        {
            getNodes(node.Nodes[i]);
        }
    }
}

/// <summary>
/// 所有节点
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnTreeAll_Click(object sender, EventArgs e)
{
    getNodes(treeView1.Nodes[0]);
}

/// <summary>
/// 根据Name进行搜索
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnTreeSearch_Click(object sender, EventArgs e)
{
    TreeNode[] treeNodes = treeView1.Nodes.Find(TxtTreeNodeName.Text, true);
    foreach (var item in treeNodes)
    {
        textBox1.Clear();
        textBox1.AppendText(item.Text + " " + item.Tag + " " + item.Name + "\r\n");
    }
}

/// <summary>
/// 鼠标悬停提示
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void TxtTreeNodeName_MouseMove(object sender, MouseEventArgs e)
{
    System.Windows.Forms.ToolTip tip
        = new System.Windows.Forms.ToolTip
        {
            AutoPopDelay = 3000,
            InitialDelay = 500,
            ReshowDelay = 500,
            ShowAlways = true
        };
    tip.SetToolTip(this.TxtTreeNodeName, "TreeNode.Name");
}

2. ContextMenuStrip 右键菜单控件

2.1 引入控件

引入控件ContextMenuStrip,假设name为ContextMenuStrip1,定义好菜单(和MenuStrip一样)

2.2 设置属性

在其他控件中设置属性ContextMenuStrip为ContextMenuStrip1

3. PictureBox 图片控件

3.1 加载图片

3.1.1 .Image

        private void BtnPic1_Click(object sender, EventArgs e)
        {
            pictureBox1.Image = Image.FromFile("d:\\test\\1.jpeg");
        }

        private void BtnPic3_Click(object sender, EventArgs e)
        {
            FileStream fs = new FileStream("d:\\test\\3.jpeg", FileMode.Open);
            pictureBox1.Image = Image.FromStream(fs);
            fs.Flush();
            fs.Close();
        }        
3.1.2 .ImageLocation
        private void BtnPic2_Click(object sender, EventArgs e)
        {
            pictureBox1.ImageLocation = "d:\\test\\2.jpeg";
        }

3.2 显示模式

3.2.1 Normal

img

        private void BtnNormal_Click(object sender, EventArgs e)
        {
            pictureBox1.SizeMode = PictureBoxSizeMode.Normal;
        }
3.2.2 StretchImage

img

        private void BtnStretchImage_Click(object sender, EventArgs e)
        {
            pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
        }
3.2.3 AutoSize

img

        private void BtnAutoSize_Click(object sender, EventArgs e)
        {
            pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;
        }
3.2.4 CenterImage

img

        private void BtnCenterImage_Click(object sender, EventArgs e)
        {
            pictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;
        }
3.2.5 Zoom

img

        private void BtnZoom_Click(object sender, EventArgs e)
        {
            pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
        }
posted @ 2025-11-18 19:43  huiy_小溪  阅读(4)  评论(0)    收藏  举报