Есть идея, но не знаю как реализовать. Хочу сделать что-то вроде программы для записок. Суть в том что все заключается в добавлении компонентов если мы хотим что-то добавить или написать. Внизу есть панель которая спрашивает что мы хотим добавить. Текст? Тогда нажимаем и появляется RichTextBox
. Еще изображение? Тогда появляется PicrureBox
после RichTextBox
. Еще код? Тогда появляется FastColoredTextBox
после PicrureBox
. Если еще текст нужен, то еще один RichTextBox
после FastColoredTextBox
. Получается такой чат с самим собой. Вопрос в том, как создавать эти элементы на форме? Чтобы они где-то были скрыты, а мы при нажатии как бы клонировали их и вставляли.
void bKod_Click(object sender, EventArgs e)
{
FastColoredTextBox fctb = new FastColoredTextBox();
fctb.Width = this.Width;
this.Controls.Add(fctb);
}
void bKartinka_Click(object sender, EventArgs e)
{
Panel panel = new Panel();
panel.Width = this.Width;
PictureBox pb = new PictureBox();
panel.Controls.Add(pb);
this.Controls.Add(panel);
}
void bTekst_Click(object sender, EventArgs e)
{
RichTextBox rtb = new RichTextBox();
rtb.Width = this.Width;
this.Controls.Add(rtb);
}
Заметка: Для FastColoredTextBox
будете изпользовать 3rd party controls (SO или CodeProject FastColoredTextBox) или CustomControl
В чем, собственно, проблема? Например, при нажатии на кнопку пишете код:
Label label2 = new Label();
label2.AutoSize = true;
label2.Location = new System.Drawing.Point(41, 92);
label2.Name = "label2";
label2.Size = new System.Drawing.Size(35, 13);
label2.TabIndex = 1;
label2.Text = "label2";
Controls.Add(label2);
Создается Label, который отрисуется на форме по координатам Point(41, 92). И можете так же создавать любой элемент. Можете присвоить каждому элементу все нужные свойства и прописать обработчики событий.
Если сильно нужно, создайте массив элементов object и все свои динамические элементы храните в нем. При желании, вы сможете обратиться к любому элементу и изменять его свойства и т.д...
Виртуальный выделенный сервер (VDS) становится отличным выбором
Создал Pivot табами и растянул эти табы по ширине окна, все бы ничего, но когда масштабирую окно эти табы начинают "прыгать", меняться местами(типо...
Есть программа для работы с бд, в которой присутствует функция добавления заказаПри добавлении заказа, нужно сформировать чек, который покажет...
При запуске стандартного кода из руководства по авторизации Google api