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

时间:2012-02-29 07:58:06

标签: c# winforms

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

2 个答案:

答案 0 :(得分:2)

例如,在你的表格中,你可以这样做:

ToolStrip toolStrip2 = new ToolStrip();
toolStrip2.Items.Add(new ToolStripDropDownButton());
toolStrip2.Dock = DockStyle.Bottom;
this.Controls.Add(toolStrip2);

答案 1 :(得分:0)

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()));
            }
        }
    }
}