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

iskrakovrov

Client
Регистрация
28.03.2015
Сообщения
410
Благодарностей
84
Баллы
28
А подскажите, как создать форму с таким текстом
"Выполните (переменная из проекта) и нажмите ОК"
Ну и кнопка в конце ОК, нажимая на которую происходит выход
Спасибо.
 

laotan

Client
Регистрация
22.11.2018
Сообщения
9
Благодарностей
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
Сообщения
400
Благодарностей
83
Баллы
28
xtreme tanks!
 

Master4eg

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

EtaLasquera

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

Master4eg

Client
Регистрация
06.04.2016
Сообщения
365
Благодарностей
78
Баллы
28

Master4eg

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

DmitryiAsp

Client
Регистрация
24.08.2016
Сообщения
83
Благодарностей
5
Баллы
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
Сообщения
353
Благодарностей
144
Баллы
43
В сообщении ошибки же написано
"переменная "f" - находится вне текущего контекста"
 

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
Сообщения
91
Благодарностей
20
Баллы
8
Как реализовать в данном коде таймер с выводом его в лейбл "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
Сообщения
196
Благодарностей
105
Баллы
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

Koqpe

Client
Регистрация
23.12.2014
Сообщения
946
Благодарностей
510
Баллы
93
  • Спасибо
Реакции: dohrelion

dohrelion

Client
Регистрация
22.03.2018
Сообщения
91
Благодарностей
20
Баллы
8

dohrelion

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


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
Сообщения
328
Благодарностей
218
Баллы
43
Ребят, а как сделать нажатие кнопки и кликом и клавишей (например 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
Сообщения
946
Благодарностей
510
Баллы
93
Ребят, а как сделать нажатие кнопки и кликом и клавишей (например 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
Сообщения
328
Благодарностей
218
Баллы
43

twisterrr

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

xopek2007

Client
Регистрация
10.05.2013
Сообщения
68
Благодарностей
4
Баллы
8
Привет всем:-) Есть форма:
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
Сообщения
48
Благодарностей
24
Баллы
8
Привет всем:-) Есть форма:
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
Сообщения
68
Благодарностей
4
Баллы
8
Тот что выводится в форме ListBox.
 

Rainsteel

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

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

luk911

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

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

Rainsteel

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

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

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