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

baimkin

Client
Joined
Aug 4, 2015
Messages
283
Reaction score
111
Points
43
Спасибо вам большое!

Чутка исправленный код кому вдруг пригодится:
Code:
//пишем, что у нас там будет при клике
button.Click+= delegate(object sender, System.EventArgs e)
{
        {
    for(int i =0;i<list.Count;i++)
    {
    if(list[i].Contains(combobox.Text))
    {
   
            project.Variables["catalog"].Value = i.ToString();
            break;
                    }
            }
    }
string s = project.Variables["failDliaProverki"].Value;
string z = project.Variables["catalog"].Value;
if (s != "" & z != "0") F.Close();
else System.Windows.Forms.MessageBox.Show("Неполные данные");
};
 

goblin2oo8

Client
Joined
Aug 27, 2013
Messages
93
Reaction score
95
Points
18
Спасибо вам большое!

Чутка исправленный код кому вдруг пригодится:
Code:
//пишем, что у нас там будет при клике
button.Click+= delegate(object sender, System.EventArgs e)
{
        {
    for(int i =0;i<list.Count;i++)
    {
    if(list[i].Contains(combobox.Text))
    {
  
            project.Variables["catalog"].Value = i.ToString();
            break;
                    }
            }
    }
string s = project.Variables["failDliaProverki"].Value;
string z = project.Variables["catalog"].Value;
if (s != "" & z != "0") F.Close();
else System.Windows.Forms.MessageBox.Show("Неполные данные");
};
Рад что помог)
 

baimkin

Client
Joined
Aug 4, 2015
Messages
283
Reaction score
111
Points
43
Новая проблема появилась, все никак не могу получить данные из календаря в текстовую форму, подскажите пожалуйста кто знает.

Code:
//календурь
System.Windows.Forms.MonthCalendar calendur = new System.Windows.Forms.MonthCalendar();
calendur.Location = new System.Drawing.Point(150,10);
F.Controls.Add(calendur);

System.Windows.Forms.TextBox textbox1 = new System.Windows.Forms.TextBox();
textbox1.Location = new System.Drawing.Point(10,10);
textbox1.Text = calendur.DateSelected.ToString(); //тут я что то делаю совсем не так как надо
F.Controls.Add(textbox1);
 

RoyalBank

Client
Joined
Sep 7, 2015
Messages
557
Reaction score
551
Points
93
Всем привет, как можно реализовать таймер обратного отсчета, который по истечению заданного интервала времени будет переводить заданную кнопку/поле на форме/окне в состояние неактивной.
 

Aviatikor

Client
Joined
Jan 30, 2016
Messages
91
Reaction score
30
Points
18
Новая проблема появилась, все никак не могу получить данные из календаря в текстовую форму, подскажите пожалуйста кто знает.

Code:
//календурь
System.Windows.Forms.MonthCalendar calendur = new System.Windows.Forms.MonthCalendar();
calendur.Location = new System.Drawing.Point(150,10);
F.Controls.Add(calendur);

System.Windows.Forms.TextBox textbox1 = new System.Windows.Forms.TextBox();
textbox1.Location = new System.Drawing.Point(10,10);
textbox1.Text = calendur.DateSelected.ToString(); //тут я что то делаю совсем не так как надо
F.Controls.Add(textbox1);
Может такой вариант пригодиться или что-то возмёшь от сюда:
Code:
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
F.Width = 350;    //- задает ширину формы в пикселях
F.Height = 250;    //- задает высоту формы в пикселях
F.Text = "Выбор даты и время";

//создаем календарь
System.Windows.Forms.DateTimePicker datapick = new System.Windows.Forms.DateTimePicker();
datapick.Location = new System.Drawing.Point(50,50);
datapick.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
datapick.CustomFormat = "dd.MM.yyyy HH:mm";
F.Controls.Add(datapick);

//создаем кнопку
System.Windows.Forms.Button button1 = new System.Windows.Forms.Button();
button1.Text = "Готово!";
button1.Location = new System.Drawing.Point(100,100);
button1.Size=new System.Drawing.Size(100, 40);
F.Controls.Add(button1);
button1.Click+= delegate(object sender, System.EventArgs e)    {
            F.Dispose();
    project.Variables["date"].Value = Convert.ToString(datapick.Value);
    };

//запускаем форму
F.ShowDialog();
 
  • Thank you
Reactions: baimkin

baimkin

Client
Joined
Aug 4, 2015
Messages
283
Reaction score
111
Points
43
Решил еще добавить функционала, но опять сам не могу додумать как сделать, есть определенное количество переменных, надо на каждую переменную динамически добавить элементы на форму, пример:

Переменная 1
Переменная 2
Переменная 3
нужно чтоб на каждую переменную добавились элементы, и они росли вниз по горизонтали, что то вроде такого:
upload_2016-4-25_12-48-26.png


Подскажите пожалуйста на небольшом примере.

Из того что сам попытался сделать:
Code:
//по клику сделать переменную с числом, и создать панель с названием этого числа
button.Click+= delegate(object sender, System.EventArgs e)
{
    int i = 1;
    i = i + 1;
        i.ToString();
    {
        System.Windows.Forms.DateTimePicker i = new System.Windows.Forms.DateTimePicker();
        i.Width = 150;
        i.Location = new System.Drawing.Point(215,10);
        F.Controls.Add(i);
    }
  
};
но чет не работает
 
Last edited:

ermax

Client
Joined
Oct 6, 2012
Messages
143
Reaction score
53
Points
28
delete
 
Last edited:

olga.armalita

Client
Joined
Apr 5, 2014
Messages
194
Reaction score
42
Points
28
Обновился, и опять 25. Не ни один сниппет не работает:(

Code:
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.Text = "Наша форма";
F.ShowDialog();
return 0;
17:33:53 Компиляция кода Ошибка в действии "CS0103" "Имя "F" отсутствует в текущем контексте". [Строка: 9; Cтолбец: 5]
 
Last edited:

Hool

Client
Joined
Mar 27, 2015
Messages
65
Reaction score
6
Points
8
такая же проблема
 

goblin2oo8

Client
Joined
Aug 27, 2013
Messages
93
Reaction score
95
Points
18
Че каве :ar:
Специально запустил ПМ, создал чистый проект, скопировал код выше в сниппет
Code:
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.Text = "Наша форма";
F.ShowDialog();
return 0;
всё робит ребята http://scr.kinosik.ru/2016-06-20_144927.jpg
 

olga.armalita

Client
Joined
Apr 5, 2014
Messages
194
Reaction score
42
Points
28
Че каве :ar:
Специально запустил ПМ, создал чистый проект, скопировал код выше в сниппет
Code:
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.Text = "Наша форма";
F.ShowDialog();
return 0;
всё робит ребята http://scr.kinosik.ru/2016-06-20_144927.jpg
Ага, если создать чистый проект, тогда работает, а вот в приложенном в первом посте, а иногда и скопированный в уже готовый проект, сниппет
работать не хочет.
 

baimkin

Client
Joined
Aug 4, 2015
Messages
283
Reaction score
111
Points
43
Там вроде в одном из снипетов ошибка есть из за этого блокируется работа всех снипетов проекта.
 

Hozy

Client
Joined
Mar 6, 2016
Messages
146
Reaction score
12
Points
18
Доброго времени суток уважаемые!
Подскажите, как реализовать выбор файла с передачей его пути в переменную?
 

baimkin

Client
Joined
Aug 4, 2015
Messages
283
Reaction score
111
Points
43
Доброго времени суток уважаемые!
Подскажите, как реализовать выбор файла с передачей его пути в переменную?
Code:
//создаем форму
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.AutoSize=true;
F.TopMost=true;

//создаем кнопку
System.Windows.Forms.Button button2 = new System.Windows.Forms.Button();
button2.Text = "Выберите файл";
button2.Location = new System.Drawing.Point(30,20);
button2.AutoSize=true;
System.Windows.Forms.OpenFileDialog of = new System.Windows.Forms.OpenFileDialog();
F.Controls.Add(button2);

//устанавливаем директорию по умолчанию
of.InitialDirectory = "E:\\Загрузки" ;
//устанавливаем фильтр, какие файлы нас интересуют, и как их называть
of.Filter = "exel files (*.xls*)|*.xls*|All files (*.*)|*.*" ;

//пишем, что у нас там будет при клике
button2.Click+=delegate(object sender, System.EventArgs e)
{
    if(of.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    {
        F.Show();
        project.Variables["FileName"].Value = of.FileName;
        }
};

//показываем форму
F.ShowDialog();
 
  • Thank you
Reactions: ramzes8 and Hozy

Hozy

Client
Joined
Mar 6, 2016
Messages
146
Reaction score
12
Points
18
Спасибо, попробую.
 
Joined
May 15, 2016
Messages
45
Reaction score
5
Points
8
Так как всё-таки делать всплывающую форму по центру экрана? Подскажите пожалуйста. Например, у меня такой код
Code:
// создаём форму с указанным значением
var dialogForm = new System.Windows.Forms.Form 
{
    Size = new Size(250, 166),
    ShowIcon = false,
    Name = "DialogForm",
    Text = @"Окно для ввода смс кода",
    FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog,
    MinimizeBox = false,
    MaximizeBox = false
};
// поле ввода
var textBox = new System.Windows.Forms.TextBox { Name = "Text", Size = new Size(80, 20), Multiline = true};
// кладём на форму
dialogForm.Controls.Add(textBox);
// положение на форме
textBox.Location = new Point(84, 42);
var testLabel = new System.Windows.Forms.Label
{
    AutoSize = true,
    Font = new System.Drawing.Font("Microsoft Sans Serif", 9.00F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 204),
    Location = new System.Drawing.Point(8, 12),
    Text = "Введите ваш код подтверждения"
};
dialogForm.Controls.Add(testLabel);
// устанавливаем значение в переменную
project.Variables["sms_code"].Value = textBox.Text;
// кнопка ok
var okButton = new System.Windows.Forms.Button { Name = "OKButton", Text = @"Добавить SMS код", Size = new Size(234, 56) };
// кладём не форму
dialogForm.Controls.Add(okButton);
// положение на форме
okButton.Location = new Point(5, 80);
// обработка события
okButton.Click += (delegate { dialogForm.DialogResult = System.Windows.Forms.DialogResult.OK; });
// показывем форму
var dialogResult = dialogForm.ShowDialog();
// если не было отмены диалога
if (dialogResult != System.Windows.Forms.DialogResult.Cancel) return textBox.Text;
return 0;
 
  • Thank you
Reactions: Oleg-KC

evgen2522

Client
Joined
Jan 8, 2016
Messages
470
Reaction score
106
Points
43
Это позволит выбрать локацию форы в любом удобном месте
Название формы.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
Название формы.Location = new Point(10, 100);
 
  • Thank you
Reactions: Marcelo
Joined
May 15, 2016
Messages
45
Reaction score
5
Points
8
Это позволит выбрать локацию форы в любом удобном месте
Название формы.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
Название формы.Location = new Point(10, 100);
А ты можешь подсказать, какое название формы в моём коде? Или как это название сделать?
 

evgen2522

Client
Joined
Jan 8, 2016
Messages
470
Reaction score
106
Points
43
А ты можешь подсказать, какое название формы в моём коде? Или как это название сделать?
Я не очень силен в си шарпе но думаю будет работать если между 4 и 10 строкой вписать это
StartPosition = System.Windows.Forms.FormStartPosition.Manual;
Location = new Point(10, 100);
если не будет работать воткни после 2 строчки
 

Hozy

Client
Joined
Mar 6, 2016
Messages
146
Reaction score
12
Points
18
Доброго времени суток уважаемые.
Помогите решить проблему:
При запуске шаблона, загружается профиль, после чего открывается форма с веббраузером.
Внимание вопрос! Как передать этой форме куки из профиля?

А то открывается страничка, на которой написано что браузер старый, пользуйтесь другим. С ВКонтакте работаю.

Code:
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.Text = "Форма редактирования";
F.TopMost = true;
F.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
F.Width = 740;
F.Height = 720;
System.Windows.Forms.WebBrowser webb = new System.Windows.Forms.WebBrowser();   
webb.Url = new Uri(@"http://vk.com/");
webb.Width = 720;
webb.Height = 700;

F.Controls.Add(webb);
   
F.ShowDialog();
return 0;
 
Last edited:

Hozy

Client
Joined
Mar 6, 2016
Messages
146
Reaction score
12
Points
18
Или как сделать, что бы окно инстанса автоматически открывалось?
 

doc

Client
Joined
Mar 30, 2012
Messages
8,685
Reaction score
4,648
Points
113
Или как сделать, что бы окно инстанса автоматически открывалось?
ты зачем вообще в код полез?
 

Hozy

Client
Joined
Mar 6, 2016
Messages
146
Reaction score
12
Points
18
ты зачем вообще в код полез?
Не понял вопроса. Что значит зачем? Если делаю, значит для чего то нужно)
 

doc

Client
Joined
Mar 30, 2012
Messages
8,685
Reaction score
4,648
Points
113
Не понял вопроса. Что значит зачем? Если делаю, значит для чего то нужно)
про старый браузер сайты упоминают, когда юзерагент устарел. Не знаю, что там за юзерагент использует WebBrowser, и использует ли вообще, но там наверняка можно где-то задавать заголовки.
 

Hozy

Client
Joined
Mar 6, 2016
Messages
146
Reaction score
12
Points
18
про старый браузер сайты упоминают, когда юзерагент устарел. Не знаю, что там за юзерагент использует WebBrowser, и использует ли вообще, но там наверняка можно где-то задавать заголовки.
Мне необходимо, что бы в форме отображалось окно инстанса. А webbrowser не принимает параметры загруженного профиля.
Можно ли окно инстанса открывать командой какой нибудь?
 

Hozy

Client
Joined
Mar 6, 2016
Messages
146
Reaction score
12
Points
18
Нашел вот такой код. Не пойму что и куда надо прописать, что бы окно инстанса открылось.
Code:
var url = "";
var port = 0;
var address = "";
// Gets parameters of instance
ZennoPoster.GetNewInstance(out url, out port, out address);
// Show the instance
ZennoPoster.ShowInstance(url, port, address);
Или этот код не для этого предназначен?
 

Gamma

Client
Joined
May 14, 2016
Messages
83
Reaction score
10
Points
8
Не подскажите как можно запретить нажимать на кнопку "Начать" или на крестик для закрытия пока не выбран не один вариант ?

Скрин:


Код кубика:
Code:
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.Text = "Котики везде";
F.TopMost = true;
F.Width=450;    //- задает ширину формы в пикселях
F.Height=300;   //- задает высоту формы в пикселях
F.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; //- Открытие окна в центре экрана
//создаем радиобаттоны
System.Windows.Forms.RadioButton rb1 = new System.Windows.Forms.RadioButton();
System.Windows.Forms.RadioButton rb2 = new System.Windows.Forms.RadioButton();

//присваиваем значение
rb1.Text="Обнимашки";
rb2.Text="Чесать шёрстку";

//размещаем радиобаттоны
rb1.Location = new System.Drawing.Point(5,30);
rb2.Location = new System.Drawing.Point(5,50);

//разрешаем нашим радиобаттонам иметь ширину, подходящую под содержимое
rb1.AutoSize=true;

//Создаем GroupBox (группирующий бокс)
System.Windows.Forms.GroupBox grbox1 = new System.Windows.Forms.GroupBox();

//назовем нашу группу
grbox1.Text = "Что делать с котами ?";

//говорим куда поставить групбоксы
grbox1.Location = new System.Drawing.Point(20,20);

//разрешаем им тянуться до подходящего размера
grbox1.AutoSize=true;

//создаем кнопку
System.Windows.Forms.Button button = new System.Windows.Forms.Button();
//задаем имя кнопки
button.Text = "Начать";
//положение кнопки в окне
button.Location = new System.Drawing.Point(300,200);
//размер кнопочки
button.Size=new System.Drawing.Size(100, 50);

//добавляем радиобаттоны на групбокс1
grbox1.Controls.Add(rb1);
grbox1.Controls.Add(rb2);

//добавляем групбоксы на форму
F.Controls.Add(grbox1);

//кидаем кнопку на форму
F.Controls.Add(button);

button.Click+= delegate(object sender, System.EventArgs e)
{
        F.Close(); //Dispose – это уничножение объекта. Есть аналог Close, но Dispose //выгрузит форму из памяти
};

//запускаем форму
F.ShowDialog();

//Забираем значения в наши переменные

//Делаем цикл, в котором будут перебраны все значения от 0 до grbox1.Controls.Count
//grbox1.Controls.Count -  это количество наших радиобаттонов, которые мы в него положили
//При этом при переборе - текущее значение - 0,1,2,3 или другое, будет находится в переменной i
for(int i=0;i<grbox1.Controls.Count;i++)
{
    if( (((System.Windows.Forms.RadioButton)grbox1.Controls[i]).Checked==true))
    {
        //устанавливаем значение переменной тест
        project.Variables["cats"].Value=grbox1.Controls[i].Text;
        //либо, если раскомментировать строку ниже - можно установить число а не значение
        //project.Variables["cats"].Value=i.ToString();
    }
}
return 0;
 
  • Thank you
Reactions: Codemasters

Gamma

Client
Joined
May 14, 2016
Messages
83
Reaction score
10
Points
8
Либо как установить какое то значение по умолчанию ?
 

Radzhab

Client
Joined
May 23, 2014
Messages
1,500
Reaction score
1,268
Points
113
rb1.Checked=true;
 
  • Thank you
Reactions: Gamma

Gamma

Client
Joined
May 14, 2016
Messages
83
Reaction score
10
Points
8
  • Thank you
Reactions: Codemasters

Users Who Are Viewing This Thread (Total: 1, Members: 0, Guests: 1)