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

Joined
Jul 8, 2015
Messages
2,848
Reaction score
712
Points
113
https://habrahabr.ru/post/302432/ вот тут пишут что это просто обертка на IE. Может от используемого .NET Framework зависит?
у меня ie последней версии на ПК а с вебформы смотрел юзер агент от 7 . Читал в инете там вообще прикручивают левый браузер вместо стандартного.
 

baimkin

Client
Joined
Aug 4, 2015
Messages
283
Reaction score
111
Points
43
у меня ie последней версии на ПК а с вебформы смотрел юзер агент от 7 . Читал в инете там вообще прикручивают левый браузер вместо стандартного.
upload_2016-10-5_15-2-5.png
 
  • Thank you
Reactions: masterLomaster

BraG.A

Пользователь
Joined
Aug 5, 2016
Messages
81
Reaction score
7
Points
8
Ребята скажите, могу ли я другу написать шаблон в ПМ завернуть его в оболочку, где надо будет вводить простейшие данные и отдать для работы ? Если да то киньте ссылку как это делать.
 
Joined
Jul 8, 2015
Messages
2,848
Reaction score
712
Points
113

BraG.A

Пользователь
Joined
Aug 5, 2016
Messages
81
Reaction score
7
Points
8
ключевое слово тут продать )))
Пока отдать, так как делаю бесплатно друзьям, в будущем - возможно. Но вопрос все же остается открытым. Каким образом создавать стороннюю оболочку - форму.

Когда-то на форму видел , как парень продавал такого плана шаблон со своим интерфейсом , но не помню где это запись на форуме.
 
Joined
Jul 8, 2015
Messages
2,848
Reaction score
712
Points
113
в
Пока отдать, так как делаю бесплатно друзьям, в будущем - возможно. Но вопрос все же остается открытым. Каким образом создавать стороннюю оболочку - форму.

Когда-то на форму видел , как парень продавал такого плана шаблон со своим интерфейсом , но не помню где это запись на форуме.
ПМ есть такая чтука как входящие настройки!
http://zennolab.com/wiki/ru:input-settings
без украшательств )))
 

BenLinus

Client
Joined
Apr 29, 2016
Messages
39
Reaction score
6
Points
8
Подскажите строку по выбору шрифта, вроде FontDialog. Как грамотно составить.
 

stud

Client
Joined
Jun 23, 2013
Messages
88
Reaction score
140
Points
33
плин ни туда запилил )))
раньше извращался ))) при желании всё можно сделать
@ssXXXss а можно как-нибудь твой проект глянуть?
 

ksander

Client
Joined
Jun 17, 2016
Messages
272
Reaction score
34
Points
28
Добрый день столкнулся с такой проблемой, понадобилось вводить данные когда скрипт работает извне. Все нашел все вроде работает Но одно НО
При отправке данных происходит ошибка.

upload_2016-12-1_22-17-58.png


Сам код сниппета ниже
Code:
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.Text = "Управление";
F.Width=300;    //- задает ширину формы в пикселях
F.Height=250;    //- задает высоту формы в пикселях
F.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; //- Открытие окна в центре экрана
//создаем текстбокс
System.Windows.Forms.TextBox textb = new System.Windows.Forms.TextBox();
//указываем местоположение
textb.Location = new System.Drawing.Point(100,100);
// добавляем его на форму
F.Controls.Add(textb);
//создаем кнопку
System.Windows.Forms.Button button = new System.Windows.Forms.Button();
//задаем имя чекбоксам
button.Text = "Кнопка";
//положение в окне
button.Location = new System.Drawing.Point(110,10);
//размер кнопочки
button.Size=new System.Drawing.Size(80, 30);
//кидаем на форму
F.Controls.Add(button);
//описываем событие для клика по кнопке
button.Click+= delegate(object sender, System.EventArgs e)
{
   project.Variables["Text"].Value = textb.Text;
     F.Dispose();
};
//отрисовываем форму
F.ShowDialog();
//или возвращаем в переменную по умолчанию
return textb.Text;
Скажите что не хватает?.
 

LaGir

Client
Joined
Oct 1, 2015
Messages
230
Reaction score
948
Points
93
Скажите что не хватает?.
Видимо, отсутствует переменная Text в списке переменных шаблона, в которую в коде записывается результат (строка 25). Если её действительно нет, нужно просто создать.
 
  • Thank you
Reactions: ksander

ksander

Client
Joined
Jun 17, 2016
Messages
272
Reaction score
34
Points
28
Видимо, отсутствует переменная Text в списке переменных шаблона, в которую в коде записывается результат (строка 25). Если её действительно нет, нужно просто создать.
Спасибо помогло, еще вопрос как отредактировать саму форму визуально?
 

LaGir

Client
Joined
Oct 1, 2015
Messages
230
Reaction score
948
Points
93
Спасибо помогло, еще вопрос как отредактировать саму форму визуально?
Визуально - в Visual Studio можно. В Project Maker чисто конечный код только можно вставить.
 

ksander

Client
Joined
Jun 17, 2016
Messages
272
Reaction score
34
Points
28
Визуально - в Visual Studio можно. В Project Maker чисто конечный код только можно вставить.
Что то не мог там разобраться где код брат, форму накидал вытащил код но он совсем не похож на данный который используется тут.
 

frion-seo

Client
Joined
Feb 27, 2011
Messages
539
Reaction score
472
Points
63
До! Расширение плюшек!
Если Вам что то непонятно) или чего-то не хватает - дергайте меня, пока я никуда не делся)))

Пы.Сы. но, конечно, писать обвязку на целый проект - это перебор))))
Не подскажешь как вызвать по клику на форме еще одну форму ?
сам разобрался
в обработчике событий пишем
Code:
System.Windows.Forms.Form F2 = new System.Windows.Forms.Form();
F2.Show();
 
Last edited:

LaGir

Client
Joined
Oct 1, 2015
Messages
230
Reaction score
948
Points
93
Что то не мог там разобраться где код брат, форму накидал вытащил код но он совсем не похож на данный который используется тут.
Если не изменяет память, код надо брать из файла в проекте с названием типа Form.Designer.cs. Перед вставкой нужно почистить код от оберток неймспейсов, классов, методов. По мелочи замены сделать (например, this на конкретный объект). В принципе, путём экспериментов, смотря на что ругается PM, сверяясь с допустимыми примерами кода из статьи - даже без знаний основ C# вполне можно адаптировать полученный в студии код под зеннку.
 

IgorSush

Client
Joined
Feb 11, 2016
Messages
312
Reaction score
108
Points
43
плин ни туда запилил )))
раньше извращался ))) при желании всё можно сделать

@ssXXXss, поделитесь примером, если не жалко:bc:
 
Last edited:

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,375
Reaction score
2,042
Points
113
@ssXXXss, поделитесь примером, если не жалко:bc:
не жалко, просто возиться неохото выдёргивать этот код, а там проект под соц сеть, так что не думай что зажал я )
 

IgorSush

Client
Joined
Feb 11, 2016
Messages
312
Reaction score
108
Points
43
не жалко, просто возиться неохото выдёргивать этот код, а там проект под соц сеть, так что не думай что зажал я )
Без проблем.
Сам разобрался
 

evgen2522

Client
Joined
Jan 8, 2016
Messages
470
Reaction score
106
Points
43
Кто подскажет как сделать что бы
WebBrowser
в форме при переходах с поиска на сайты не открывал IE а открывался так же в форме
 

unicorn79

Client
Joined
Jan 11, 2017
Messages
43
Reaction score
10
Points
8
Рабочий обработчик закрытия формы по крестику:

Code:
F.FormClosing+=delegate(object sender, System.Windows.Forms.FormClosingEventArgs e)
{
// тут пишем свой код
};


F.ShowDialog();
 

unicorn79

Client
Joined
Jan 11, 2017
Messages
43
Reaction score
10
Points
8
Здравствуйте, друзья! Я новичок в Zenno и C#, но немного знаком с принципами программирования.
Стоит задача написать при помощи C# и zenno аналог GUI приложения. Начал с азов - создал форму с элементами управления. При нажатии кнопки, я сейчас выполняю

Code:
F.Hide();
для выхода из блока C#, затем средствами zenno выполняю некоторые действия (блоки), после чего опять возвращаюсь (стрелкой) к вышеуказанному блоку C# (моей форме).

На период выполнения кода zenno форма будет скрыта с глаз пользователя, пока не будет возврата к блоку C#.

Вопрос - можно как-то выполнять блоки zenno без скрывания F.Hide() формы? (чтоб обеспечить аналог GUI-интерфейса).

Спасибо!
 

BenLinus

Client
Joined
Apr 29, 2016
Messages
39
Reaction score
6
Points
8
Рабочий обработчик закрытия формы по крестику:

Code:
F.FormClosing+=delegate(object sender, System.Windows.Forms.FormClosingEventArgs e)
{
// тут пишем свой код
};


F.ShowDialog();
Не совсем понял как грамотно прописать. А он просто закрывает форму? Мне нужно при нажатии на крест останавливать и сам шаблон.
Я вот к примеру используют след. код, только шаблон не останавливается, а просто форма закрывается
Code:
button.Click+= delegate(object sender, System.EventArgs e)
{
    F.Close(); // закрытие при нажатии
};
 

baimkin

Client
Joined
Aug 4, 2015
Messages
283
Reaction score
111
Points
43
Добавь переменную для остановки проекта и проверяй его значение после выполнения кубика с кодом:
Code:
button.Click+= delegate(object sender, System.EventArgs e)
{
    project.Variables["date"].Value = "1";    //команда на стоп шаблона
    F.Close(); // закрытие при нажатии
};
upload_2017-1-24_20-52-49.png
 

BenLinus

Client
Joined
Apr 29, 2016
Messages
39
Reaction score
6
Points
8
Добавь переменную для остановки проекта и проверяй его значение после выполнения кубика с кодом:
Code:
button.Click+= delegate(object sender, System.EventArgs e)
{
    project.Variables["date"].Value = "1";    //команда на стоп шаблона
    F.Close(); // закрытие при нажатии
};
View attachment 18109
Я так кстати и хотел делать, но показалось не комельфо))) Ведь явно можно в самом коде прописать прерывание шаба, т.е. вывести по красной линии.
 

LaGir

Client
Joined
Oct 1, 2015
Messages
230
Reaction score
948
Points
93
Ведь явно можно в самом коде прописать прерывание шаба, т.е. вывести по красной линии.
Выход из кода по красной ветке - throw new Exception(); или return null;
В данном случае используем сразу после F.Close();
 
  • Thank you
Reactions: Marcelo

evgen2522

Client
Joined
Jan 8, 2016
Messages
470
Reaction score
106
Points
43
Парни что никто не знает как сделать что бы веб браузер в форме работал правильно и не открывал эксплорер а открывал страницы в самом себе
 

BenLinus

Client
Joined
Apr 29, 2016
Messages
39
Reaction score
6
Points
8
Выход из кода по красной ветке - throw new Exception(); или return null;
В данном случае используем сразу после F.Close();
А можно на примере? Правильно ли пишу? Используя throw new Exception(); выдает ошибку.
Code:
button.Click+= delegate(object sender, System.EventArgs e)
{
    F.Close();
    return null;
};
 

LaGir

Client
Joined
Oct 1, 2015
Messages
230
Reaction score
948
Points
93
А можно на примере? Правильно ли пишу?
Да, верно.
Используя throw new Exception(); выдает ошибку.
Ошибку после того, как закрыли форму? Если да, то всё верно, это строка и предназначена для вывода ошибки (что приводит к выходу из сниппета по красной ветке или на BadEnd, завершение шаблона). Если нет - скорее всего проблема в другом участке кода, но без хотя бы описания ошибки сложно что-то сказать.
 

BenLinus

Client
Joined
Apr 29, 2016
Messages
39
Reaction score
6
Points
8
Да, верно.

Ошибку после того, как закрыли форму? Если да, то всё верно, это строка и предназначена для вывода ошибки (что приводит к выходу из сниппета по красной ветке или на BadEnd, завершение шаблона). Если нет - скорее всего проблема в другом участке кода, но без хотя бы описания ошибки сложно что-то сказать.
Не получается. Кидаю тогда сразу всю форму.
Code:
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.Text = "Наша форма";
F.AutoSize=true;
F.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
F.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;

System.Windows.Forms.Button button4 = new System.Windows.Forms.Button();
button4.Text = "X";
button4.Location = new System.Drawing.Point(300,0);
button4.Size=new System.Drawing.Size(30, 30);
button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
F.Controls.Add(button4);
button4.Click+= delegate(object sender, System.EventArgs e)
{
    F.Close();
    return null;
};

F.ShowDialog();
return 0;
При использовании return null выскакивает следующее
1.png


А при использовании throw new Exception(); Форма запускается, но если нажать на кнопку то выскакивает другая ошибка
11.png
 

LaGir

Client
Joined
Oct 1, 2015
Messages
230
Reaction score
948
Points
93
Не получается. Кидаю тогда сразу всю форму.
Пардон, затупил с допустимым местом выхода по ошибке. Рабочий вариант для той формы, через допфлаг fClosed:
C#:
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.Text = "Наша форма";
F.AutoSize=true;
F.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
F.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;

System.Windows.Forms.Button button4 = new System.Windows.Forms.Button();
button4.Text = "X";
button4.Location = new System.Drawing.Point(300,0);
button4.Size=new System.Drawing.Size(30, 30);
button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
F.Controls.Add(button4);
bool fClosed = false;
button4.Click+= delegate(object sender, System.EventArgs e)
{
    F.Close();
    fClosed = true;
};

F.ShowDialog();

if (fClosed)    //Если форма закрыта по крестику, выходим по красной ветке
    throw new Exception();

return 0;
 

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