3 место Создание и работа с собственными формами (окнами) Windows через сниппеты C#.

А подскажите, как создать форму с таким текстом
"Выполните (переменная из проекта) и нажмите ОК"
Ну и кнопка в конце ОК, нажимая на которую происходит выход
Спасибо.
 
Запуск.
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.Text = "Наша форма";
F.ShowDialog();
return 0;

Выдает ошибки :
- Компиляция кода Ошибка в действии "CS0266" "Неявное преобразование типа "System.Collections.Generic.List<string>" в "ZennoLab.InterfacesLibrary.ProjectModel.IZennoList" невозможно. Существует явное преобразование (возможно, отсутствует приведение)". [Строка: 25; Cтолбец: 10]
- Компиляция кода Ошибка в действии "CS0103" "Имя "of" отсутствует в текущем контексте". [Строка: 22; Cтолбец: 5]
- Компиляция кода Ошибка в действии "CS0103" "Имя "of" отсутствует в текущем контексте". [Строка: 26; Cтолбец: 36]
 
Доброго дня. Подскажите пожалуйста как сделать форму с выбором директории. С формой выбора файла разобрались а вот для выбора директории что-то не получается форму создать в Zenno (
 
А как наоборот сделать, чтоб форма всегда была НА ЗАДНЕМ плане. Первый раз форма так и появляется. Но при втором появлении и далее уже поверх всех окон выскакивает.
 
«Только идиоты отвечают на вопрос другим вопросом», - Дон Рамон.
 
Либо как сделать, чтоб форма запоминала своё последнее местоположение и именно там появлялась? очень нужно.
 
  • //создаем текстбокс
  • System.Windows.Forms.TextBox textb = new System.Windows.Forms.TextBox();
  • //указываем местоположение
  • textb.Location = new System.Drawing.Point(50,50);
  • //так же можно указать размеры текстбокса
  • textb.Width=200;
  • // добавляем его на форму
  • F.Controls.Add(textb);
Добавляю в ПМ как свой си шарп код, не мошет отработать его.
Ошибка
19:42:36 Компиляция кода Ошибка в действии "CS0103" "The name 'F' does not exist in the current context". [Строка: 7; Cтолбец: 1]
Подскажите, эти данные уже устарели? Я хотел, чтобы в момент работы шаблона, всплывало окно где я введу данные и они сохранятся в переменную.
 
В сообщении ошибки же написано
"переменная "f" - находится вне текущего контекста"
 
Ребят подскажите. Как вместо текста "OMG" выводить значение из переменной?
Код:
Развернуть Свернуть Копировать
System.Windows.Forms.Form F = new System.Windows.Forms.Form();

F.Text = "Наша форма";

F.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
F.Width=1000;    //- задает ширину формы в пикселях
F.Height=500;    //- задает высоту формы в пикселях

//создаем текст
System.Windows.Forms.Label Label = new System.Windows.Forms.Label();
//задаем текст
Label.Text = "OMG";
//положение в окне
Label.Location = new System.Drawing.Point(60,50);

Label.Size = new System.Drawing.Size(580, 21);

Label.Font = new System.Drawing.Font("Arial", 12, FontStyle.Italic);

F.Controls.Add(Label);

//запускаем форму
F.ShowDialog();
Очень крутая статья, спасибо топикстартеру.
И отдельное спасибо за этот код, который добавляет обычный текст в форму. Очень долго искал, как это сделать.
Топикстартеру предлагаю добавить в первое сообщение класс Forms.Label.
 
Как реализовать в данном коде таймер с выводом его в лейбл "showtime" и если не было нажатие кнопок то произвести авто закрытие формы ?

System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.Text = project.Variables["forum_name"].Value;// текст заголовка
F.TopMost = true;// по верх всех окон
F.Size=new System.Drawing.Size(400, 150);// размеры окна
F.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;;// позиция окна


//Лейбл showtime
System.Windows.Forms.Label label = new System.Windows.Forms.Label();
label.Text = "timer 50 сек";
label.Location = new System.Drawing.Point(160,60);
label.AutoSize=true;
F.Controls.Add(label);

//Лейбл2
System.Windows.Forms.Label label2 = new System.Windows.Forms.Label();
label2.Text = "ПРОДОЛЖИТЬ СБОР ДАННЫХ ???";
label2.Location = new System.Drawing.Point(100,20);
label2.AutoSize=true;
F.Controls.Add(label2);



//создаем кнопку ДА
System.Windows.Forms.Button button = new System.Windows.Forms.Button();
//задаем имя чекбоксам
button.Text = "ДА";
//положение в окне
button.Location = new System.Drawing.Point(40,50);
//размер кнопочки
button.Size=new System.Drawing.Size(100, 40);
//кидаем на форму
F.Controls.Add(button);
//Описание события, улавливающее нажатие Enter в текстбоксе
button.Click+= delegate(object sender, System.EventArgs e)
{
//говорим в какую переменную положить button
project.Variables["xxx1"].Value = button.Text;
F.Close();
};


//создаем кнопку НЕТ
System.Windows.Forms.Button button2 = new System.Windows.Forms.Button();
//задаем имя чекбоксам
button2.Text = "НЕТ";
//положение в окне
button2.Location = new System.Drawing.Point(250,50);
//размер кнопочки
button2.Size=new System.Drawing.Size(100, 40);
//кидаем на форму
F.Controls.Add(button2);
//Описание события, улавливающее нажатие Enter в текстбоксе
button2.Click+= delegate(object sender, System.EventArgs e)
{
//говорим в какую переменную положить button2
project.Variables["xxx1"].Value = button2.Text;
F.Close();
};

//запускаем форму
F.ShowDialog();
return 0;
 
Как реализовать в данном коде таймер с выводом его в лейбл "showtime" и если не было нажатие кнопок то произвести авто закрытие формы ?

System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.Text = project.Variables["forum_name"].Value;// текст заголовка
F.TopMost = true;// по верх всех окон
F.Size=new System.Drawing.Size(400, 150);// размеры окна
F.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;;// позиция окна


//Лейбл showtime
System.Windows.Forms.Label label = new System.Windows.Forms.Label();
label.Text = "timer 50 сек";
label.Location = new System.Drawing.Point(160,60);
label.AutoSize=true;
F.Controls.Add(label);

//Лейбл2
System.Windows.Forms.Label label2 = new System.Windows.Forms.Label();
label2.Text = "ПРОДОЛЖИТЬ СБОР ДАННЫХ ???";
label2.Location = new System.Drawing.Point(100,20);
label2.AutoSize=true;
F.Controls.Add(label2);



//создаем кнопку ДА
System.Windows.Forms.Button button = new System.Windows.Forms.Button();
//задаем имя чекбоксам
button.Text = "ДА";
//положение в окне
button.Location = new System.Drawing.Point(40,50);
//размер кнопочки
button.Size=new System.Drawing.Size(100, 40);
//кидаем на форму
F.Controls.Add(button);
//Описание события, улавливающее нажатие Enter в текстбоксе
button.Click+= delegate(object sender, System.EventArgs e)
{
//говорим в какую переменную положить button
project.Variables["xxx1"].Value = button.Text;
F.Close();
};


//создаем кнопку НЕТ
System.Windows.Forms.Button button2 = new System.Windows.Forms.Button();
//задаем имя чекбоксам
button2.Text = "НЕТ";
//положение в окне
button2.Location = new System.Drawing.Point(250,50);
//размер кнопочки
button2.Size=new System.Drawing.Size(100, 40);
//кидаем на форму
F.Controls.Add(button2);
//Описание события, улавливающее нажатие Enter в текстбоксе
button2.Click+= delegate(object sender, System.EventArgs e)
{
//говорим в какую переменную положить button2
project.Variables["xxx1"].Value = button2.Text;
F.Close();
};

//запускаем форму
F.ShowDialog();
return 0;
Может как-то в for цикл запихнуть текст лэйбла? и если цикл закончится, то закрывать форму... ну либо в msdn искать event'ы
 
  • Спасибо
Реакции: dohrelion
  • Спасибо
Реакции: dohrelion
Нагуглил по форуму код как сделать автозакрытие формы, прилепил его кое как, хз работает вроде. А вот как вывести оставшиеся секунды между кнопок? это я точно не победю. ПАМАГИТЕ А.


System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer();
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.Text = project.Variables["forum_name"].Value;// текст заголовка
F.TopMost = true;// по верх всех окон
F.Size=new System.Drawing.Size(400, 150);// размеры окна
F.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;;// позиция окна


//Лейбл showtime
System.Windows.Forms.Label label = new System.Windows.Forms.Label();
label.Text = "timer 50 сек";
label.Location = new System.Drawing.Point(160,60);
label.AutoSize=true;
F.Controls.Add(label);

//Лейбл2
System.Windows.Forms.Label label2 = new System.Windows.Forms.Label();
label2.Text = "ПРОДОЛЖИТЬ СБОР ДАННЫХ ???";
label2.Location = new System.Drawing.Point(100,20);
label2.AutoSize=true;
F.Controls.Add(label2);



//создаем кнопку ДА
System.Windows.Forms.Button button = new System.Windows.Forms.Button();
//задаем имя чекбоксам
button.Text = "ДА";
//положение в окне
button.Location = new System.Drawing.Point(40,50);
//размер кнопочки
button.Size=new System.Drawing.Size(100, 40);
//кидаем на форму
F.Controls.Add(button);
//Описание события, улавливающее нажатие Enter в текстбоксе
button.Click+= delegate(object sender, System.EventArgs e)
{
//говорим в какую переменную положить button
project.Variables["xxx1"].Value = button.Text;
F.Close();
};


//создаем кнопку НЕТ
System.Windows.Forms.Button button2 = new System.Windows.Forms.Button();
//задаем имя чекбоксам
button2.Text = "НЕТ";
//положение в окне
button2.Location = new System.Drawing.Point(250,50);
//размер кнопочки
button2.Size=new System.Drawing.Size(100, 40);
//кидаем на форму
F.Controls.Add(button2);
//Описание события, улавливающее нажатие Enter в текстбоксе
button2.Click+= delegate(object sender, System.EventArgs e)
{
//говорим в какую переменную положить button2
project.Variables["xxx1"].Value = button2.Text;
F.Close();
};

F.Load += delegate (object s, EventArgs v) {
timer.Interval = 30000; //время ожидания
timer.Tick += new EventHandler(delegate (object _s, EventArgs _v){
timer.Stop();
//здесь обработка полей формы
F.Close();
});
timer.Start();
};
F.ShowDialog();
return 0;
 
Ребят, а как сделать нажатие кнопки и кликом и клавишей (например LEFT)

Вот код кнопки:
Код:
Развернуть Свернуть Копировать
//создаем кнопку
System.Windows.Forms.Button button = new System.Windows.Forms.Button();
//задаем имя чекбоксам
button.Text = "Да";
//положение в окне
button.Location = new System.Drawing.Point(300,350);
//размер кнопочки
button.Size=new System.Drawing.Size(150, 75);
//кидаем на форму
F.Controls.Add(button);
button.Click+= delegate(object sender, System.EventArgs e)

{
    project.Variables["TMP3"].Value = "Да"; // вот присваиваем значение
    F.Dispose();
};
 
Ребят, а как сделать нажатие кнопки и кликом и клавишей (например LEFT)

Вот код кнопки:
Код:
Развернуть Свернуть Копировать
//создаем кнопку
System.Windows.Forms.Button button = new System.Windows.Forms.Button();
//задаем имя чекбоксам
button.Text = "Да";
//положение в окне
button.Location = new System.Drawing.Point(300,350);
//размер кнопочки
button.Size=new System.Drawing.Size(150, 75);
//кидаем на форму
F.Controls.Add(button);
button.Click+= delegate(object sender, System.EventArgs e)

{
    project.Variables["TMP3"].Value = "Да"; // вот присваиваем значение
    F.Dispose();
};
//отправка по enter
F.AcceptButton= button;
 
  • Спасибо
Реакции: DrunkDeath
подскажите как сделать остановку для действия и загрузить рекаптчу2 ?
 
Привет всем:) Есть форма:
C#:
Развернуть Свернуть Копировать
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.BringToFront();
F.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
F.Text = "Наша форма";
F.Width=350;    //- задает ширину формы в пикселях
F.Height=380;    //- задает высоту формы в пикселях
//создаем листбокс
System.Windows.Forms.ListBox listb = new System.Windows.Forms.ListBox();
//указываем его размеры
listb.Width=275;
listb.Height=300;
//Указываем положение на форме
listb.Location = new System.Drawing.Point(30,30);
//указываем список, в котором лежат нужные нам значения
var list = project.Lists["Список 1"];
// второй вариант наполнения
listb.Items.AddRange(list.ToArray());
//кидаем на форму
F.Controls.Add(listb);
//отрисовываем форму
F.TopMost = true;
F.ShowDialog();
F.BringToFront();
Как добавить возможность копировать текст из формы? Кнопкой или просто выделить и копировать?
 
Необходимо реализовать листбокс с мультивыбором.
Дописал строку
listb.SelectionMode = SelectionMode.MultiSimple;
возможность выбора нескольких вариантов появилась, но
project.Variables["test"].Value = listb.SelectedItem.ToString();
выводит только первый выбранный вариант.
 
Привет всем:-) Есть форма:
C#:
Развернуть Свернуть Копировать
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.BringToFront();
F.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
F.Text = "Наша форма";
F.Width=350;    //- задает ширину формы в пикселях
F.Height=380;    //- задает высоту формы в пикселях
//создаем листбокс
System.Windows.Forms.ListBox listb = new System.Windows.Forms.ListBox();
//указываем его размеры
listb.Width=275;
listb.Height=300;
//Указываем положение на форме
listb.Location = new System.Drawing.Point(30,30);
//указываем список, в котором лежат нужные нам значения
var list = project.Lists["Список 1"];
// второй вариант наполнения
listb.Items.AddRange(list.ToArray());
//кидаем на форму
F.Controls.Add(listb);
//отрисовываем форму
F.TopMost = true;
F.ShowDialog();
F.BringToFront();
Как добавить возможность копировать текст из формы? Кнопкой или просто выделить и копировать?
А какой именно текст вам нужно копировать?
 
Тот что выводится в форме ListBox.
 
System.Windows.Forms.RichTextBox textb0 = new System.Windows.Forms.RichTextBox();

Подскажите пожалуйста как вместо "textb0" вставить переменную
 
System.Windows.Forms.RichTextBox textb0 = new System.Windows.Forms.RichTextBox();

Подскажите пожалуйста как вместо "textb0" вставить переменную
Вы сами то поняли что хотите сделать ? Там и так переменная которой вы присваиваете значение.
 
Последнее редактирование:
int box = project.Variables["box"].Value;
System.Windows.Forms.RichTextBox box

Вы сами то поняли что хотите сделать ? Там и так переменная которой вы присваиваете значение.
Ок, вы правы так не получится , объясню на чем собственно я застопорился
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)