Программно добавить панель инструментов и их содержимое в C # - PullRequest
0 голосов
/ 29 февраля 2012

Я абсолютный новичок с простым вопросом (c #. Я хочу создать панель инструментов во время выполнения и их события. Я использую Visual Studio 2008, .net Framework 3.5, C #.

Ответы [ 2 ]

2 голосов
/ 29 февраля 2012

Например, в своем классе вы можете сделать что-то вроде этого:

ToolStrip toolStrip2 = new ToolStrip();
toolStrip2.Items.Add(new ToolStripDropDownButton());
toolStrip2.Dock = DockStyle.Bottom;
this.Controls.Add(toolStrip2);
0 голосов
/ 16 декабря 2014
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()));
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...