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

iskrakovrov

Client
Регистрация
28.03.2015
Сообщения
532
Благодарностей
172
Баллы
43

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с iskrakovrov какие-либо сделки.

А подскажите, как создать форму с таким текстом
"Выполните (переменная из проекта) и нажмите ОК"
Ну и кнопка в конце ОК, нажимая на которую происходит выход
Спасибо.
 

laotan

Client
Регистрация
22.11.2018
Сообщения
29
Благодарностей
0
Баллы
1
Запуск.
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]
 

F1int

Client
Регистрация
13.03.2018
Сообщения
6
Благодарностей
0
Баллы
1
Доброго дня. Подскажите пожалуйста как сделать форму с выбором директории. С формой выбора файла разобрались а вот для выбора директории что-то не получается форму создать в Zenno (
 

EtaLasquera

Client
Регистрация
02.01.2017
Сообщения
526
Благодарностей
113
Баллы
43
xtreme tanks!
 

Master4eg

Client
Регистрация
06.04.2016
Сообщения
421
Благодарностей
123
Баллы
43
А как наоборот сделать, чтоб форма всегда была НА ЗАДНЕМ плане. Первый раз форма так и появляется. Но при втором появлении и далее уже поверх всех окон выскакивает.
 

EtaLasquera

Client
Регистрация
02.01.2017
Сообщения
526
Благодарностей
113
Баллы
43
«Только идиоты отвечают на вопрос другим вопросом», - Дон Рамон.
 

Master4eg

Client
Регистрация
06.04.2016
Сообщения
421
Благодарностей
123
Баллы
43

Master4eg

Client
Регистрация
06.04.2016
Сообщения
421
Благодарностей
123
Баллы
43
Либо как сделать, чтоб форма запоминала своё последнее местоположение и именно там появлялась? очень нужно.
 

DmitryiAsp

Client
Регистрация
24.08.2016
Сообщения
90
Благодарностей
6
Баллы
8
  • //создаем текстбокс
  • 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]
Подскажите, эти данные уже устарели? Я хотел, чтобы в момент работы шаблона, всплывало окно где я введу данные и они сохранятся в переменную.
 

inotoxic

Client
Регистрация
20.04.2015
Сообщения
354
Благодарностей
164
Баллы
43
В сообщении ошибки же написано
"переменная "f" - находится вне текущего контекста"
 

DmitryiAsp

Client
Регистрация
24.08.2016
Сообщения
90
Благодарностей
6
Баллы
8

wellgo

Client
Регистрация
05.02.2019
Сообщения
10
Благодарностей
0
Баллы
1
Ребят подскажите. Как вместо текста "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.
 

dohrelion

Client
Регистрация
22.03.2018
Сообщения
128
Благодарностей
38
Баллы
28
Как реализовать в данном коде таймер с выводом его в лейбл "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;
 

woober

Client
Регистрация
07.04.2015
Сообщения
211
Благодарностей
123
Баллы
43
Как реализовать в данном коде таймер с выводом его в лейбл "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

Client
Регистрация
22.03.2018
Сообщения
128
Благодарностей
38
Баллы
28

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 099
Благодарностей
648
Баллы
113
  • Спасибо
Реакции: dohrelion

dohrelion

Client
Регистрация
22.03.2018
Сообщения
128
Благодарностей
38
Баллы
28

dohrelion

Client
Регистрация
22.03.2018
Сообщения
128
Благодарностей
38
Баллы
28
Нагуглил по форуму код как сделать автозакрытие формы, прилепил его кое как, хз работает вроде. А вот как вывести оставшиеся секунды между кнопок? это я точно не победю. ПАМАГИТЕ А.


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;
 

DrunkDeath

Client
Регистрация
24.12.2014
Сообщения
589
Благодарностей
402
Баллы
63
Ребят, а как сделать нажатие кнопки и кликом и клавишей (например 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();
};
 

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 099
Благодарностей
648
Баллы
113
Ребят, а как сделать нажатие кнопки и кликом и клавишей (например 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

DrunkDeath

Client
Регистрация
24.12.2014
Сообщения
589
Благодарностей
402
Баллы
63

mishanya9002

Client
Регистрация
04.01.2019
Сообщения
112
Благодарностей
7
Баллы
18
//отправка по enter
F.AcceptButton= button;
А в какое место нужно эту строчку вставить? , я вставляю у меня не работает , или может кроме этого еще что-то нужно дописать ?
 

twisterrr

Client
Регистрация
25.12.2011
Сообщения
284
Благодарностей
23
Баллы
18
подскажите как сделать остановку для действия и загрузить рекаптчу2 ?
 

xopek2007

Client
Регистрация
10.05.2013
Сообщения
102
Благодарностей
11
Баллы
18
Привет всем:-) Есть форма:
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();
Как добавить возможность копировать текст из формы? Кнопкой или просто выделить и копировать?
 

Slaze

Client
Регистрация
04.08.2019
Сообщения
1
Благодарностей
0
Баллы
1
Необходимо реализовать листбокс с мультивыбором.
Дописал строку
listb.SelectionMode = SelectionMode.MultiSimple;
возможность выбора нескольких вариантов появилась, но
project.Variables["test"].Value = listb.SelectedItem.ToString();
выводит только первый выбранный вариант.
 

Sergeevich68

Client
Регистрация
10.06.2016
Сообщения
50
Благодарностей
25
Баллы
18
Привет всем:-) Есть форма:
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();
Как добавить возможность копировать текст из формы? Кнопкой или просто выделить и копировать?
А какой именно текст вам нужно копировать?
 

xopek2007

Client
Регистрация
10.05.2013
Сообщения
102
Благодарностей
11
Баллы
18
Тот что выводится в форме ListBox.
 

Rainsteel

Client
Регистрация
08.04.2015
Сообщения
102
Благодарностей
9
Баллы
18
System.Windows.Forms.RichTextBox textb0 = new System.Windows.Forms.RichTextBox();

Подскажите пожалуйста как вместо "textb0" вставить переменную
 

luk911

Client
Регистрация
17.01.2013
Сообщения
1 542
Благодарностей
579
Баллы
113
System.Windows.Forms.RichTextBox textb0 = new System.Windows.Forms.RichTextBox();

Подскажите пожалуйста как вместо "textb0" вставить переменную
Вы сами то поняли что хотите сделать ? Там и так переменная которой вы присваиваете значение.
 
Последнее редактирование:

Rainsteel

Client
Регистрация
08.04.2015
Сообщения
102
Благодарностей
9
Баллы
18
int box = project.Variables["box"].Value;
System.Windows.Forms.RichTextBox box

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

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