以编程方式在c#中添加工具栏及其内容

本文关键字:工具栏 添加 编程 方式 | 更新日期: 2023-09-27 18:26:19

我是一个绝对的初学者,有一个简单的问题(c#.我想在运行时创建一个工具栏及其事件。我使用的是visual studio 2008,.net framework 3.5,c#.

以编程方式在c#中添加工具栏及其内容

例如,在你的表单类中,你可以做一些这样的:

ToolStrip toolStrip2 = new ToolStrip();
toolStrip2.Items.Add(new ToolStripDropDownButton());
toolStrip2.Dock = DockStyle.Bottom;
this.Controls.Add(toolStrip2);
using System;
using System.IO;
using System.Windows.Forms;
namespace DynamicToolStrip
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new DynamicToolStripForm());
        }
        class DynamicToolStripForm : Form
        {
            ToolStrip m_toolstrip = new ToolStrip();
            public DynamicToolStripForm()
            {
                Controls.Add(m_toolstrip);
                AddToolStripButtons();
            }
            void AddToolStripButtons()
            {
                const int iMAX_FILES = 5;
                string[] astrFiles = Directory.GetFiles(@"C:'");
                for (int i = 0; i < iMAX_FILES; i++)
                {
                    string strFile = astrFiles[i];
                    ToolStripButton tsb = new ToolStripButton();
                    tsb.Text = Path.GetFileName(strFile);
                    tsb.Tag = strFile;
                    tsb.Click += new EventHandler(tsb_Click);
                    m_toolstrip.Items.Add(tsb);
                }
            }
            void tsb_Click(object sender, EventArgs e)
            {
                ToolStripButton tsb = sender as ToolStripButton;
                if (tsb != null && tsb.Tag != null)
                    MessageBox.Show(String.Format("Hello im the {0} button", tsb.Tag.ToString()));
            }
        }
    }
}