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

Gamma

Client
Регистрация
14.05.2016
Сообщения
83
Благодарностей
10
Баллы
8
А как сделать так чтобы если отметить один из радиобаттонов рядом появлялся выпадающий список, ну и естественно чтобы значение радиобаттона уходило в свою переменную, а значение выпадающего списка в свою...
Код кубика в этом посте выше.
 

Gamma

Client
Регистрация
14.05.2016
Сообщения
83
Благодарностей
10
Баллы
8
Пытался поставить:
Код:
combobox.Enabled = false;

if(grbox1.SelectedItem = rb1);
{
    combobox.Enabled = true;
}
но кубик перестаёт работать вообще.
 
Регистрация
08.07.2015
Сообщения
2 848
Благодарностей
712
Баллы
113
Доброго времени суток уважаемые.
Помогите решить проблему:
При запуске шаблона, загружается профиль, после чего открывается форма с веббраузером.
Внимание вопрос! Как передать этой форме куки из профиля?

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

Код:
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;
на сколько я понимаю, браузер в форме открывается вашим осликом установленном на вашем ПК попробуйте его обновить! Вы не по тому назначению используете форму, форма используется в начале шаба для задания определенных настроек перед выполнением, либо во время выполнения, для диалога с пользователем, уточнения параметров и выстраиванию обратной связи. Браузер в форме можно использовать для оповещения своих покупателей, например об обновлении либо каких то акциях, но не для работы с VK через браузер в вебформе!
 

baimkin

Client
Регистрация
04.08.2015
Сообщения
283
Благодарностей
111
Баллы
43
Может кому надо, код вывода таблицы из проекта на WinForms:
Код:
//Создаём форму
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.Text = "Моя форма";
F.AutoSize=true;


/***************************************************************/

//создаем кнопку
System.Windows.Forms.Button button = new System.Windows.Forms.Button();
button.Text = "Закрыть";
button.Location = new System.Drawing.Point(175,15);
button.Size=new System.Drawing.Size(90, 25);
F.Controls.Add(button);

//*
    //создаем таблицу
System.Windows.Forms.DataGridView dgv = new System.Windows.Forms.DataGridView();
//положение в окне
dgv.Location = new System.Drawing.Point(50,50);
//размер
dgv.AutoSize = true;
dgv.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.DisplayedCells;


// получаем таблицу, в которой ошибки
var sourceTable = project.Tables["Таблица 1"];
lock(SyncObjects.TableSyncer)
{
// получаем количество столбцов в таблице
for(int k=0; k < sourceTable.ColCount; k++)
{
// добавляем столбцы на форму
dgv.Columns.Add(k.ToString(), k.ToString());
}   
};

{
    for(int i=0; i < sourceTable.RowCount; i++)
    {
        // читаем строку из таблицы (это будет массив ячеек)
        var cells = sourceTable.GetRow(i).ToArray();
        // добавляем строку
            dgv.Rows.Add(cells);
    }
};

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


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

//позиция Формы на экране
F.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
F.ShowDialog();
Попробовал на большом экселевском прайсе весом в 26 мегабайт, загрузилось минут за 5.
 

mavar

Client
Регистрация
28.05.2014
Сообщения
70
Благодарностей
4
Баллы
8
Парни, а как сделать такую кнопку, чтобы подливать таймер, скажем на 30 секунд.
Например такая ситуация - что-то идет не верно и нужно подкорректировать работу. В такие ответственные моменты выскакивает наше окошко, которое по умолчанию висит 5 секунд, потом закрывается само и продолжается работа проекта, но если нам нужно что-то поправить то жмем кнопку на окошке и к таймеру добавляется +30 секунд. Мы как-бы продляем паузу чтобы успеть внести правки. Если времени не хватило, жмем кнопку "ждать" еще 30 секунд. Когда таймер истекает окошко закрывается само и проект продолжает работать.

Как сделать, а?
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
ну вообщето тут ни как нет умолчания в 5 секунд, тут форма оккрывается и пока ты её сам не закроешь оно не закроется, если ты сам написал что то другогое то и поставь тогда там срвнение
 

mavar

Client
Регистрация
28.05.2014
Сообщения
70
Благодарностей
4
Баллы
8
Есть же наверное функция закрытия окна?
 
Регистрация
08.07.2015
Сообщения
2 848
Благодарностей
712
Баллы
113

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
плин ни туда запилил )))
раньше извращался ))) при желании всё можно сделать

 
Регистрация
08.07.2015
Сообщения
2 848
Благодарностей
712
Баллы
113

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
звук ты имеешь ввиду что нет рока там ? )))
 
Регистрация
08.07.2015
Сообщения
2 848
Благодарностей
712
Баллы
113

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
Регистрация
08.07.2015
Сообщения
2 848
Благодарностей
712
Баллы
113
Други! Подскажите как в форму добавить табы?
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
791
Благодарностей
136
Баллы
43
Странно, но я не могу запустить тот шаблон, что в старт посте:
upload_2016-10-4_14-38-20.png

Никто нечего подобного не писал. Неужели у одного меня такая ошибка?
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
791
Благодарностей
136
Баллы
43

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
код в студию. проблема в нем
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
791
Благодарностей
136
Баллы
43
Сейчас. Это шаблон из нескольких экшенов-сниппетов. Вот какой-то из них косячный, потому что если отдельно сниппет из общего списка запустить в другом шаблоне, то всё работает. А если их скопом перенести в тот же работающий шаблон, то тогда возникает ошибка. Сейчас методом тыка постараюсь найти, какой сниппет вызывает такую ошибку, и скину сюда.
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
791
Благодарностей
136
Баллы
43
Понятно. Два экшена по открытию и сохранению файла дают сбой.
Открытие файла:
Код:
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.Text = "Наша форма";

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

//создаем форму
System.Windows.Forms.OpenFileDialog of = new System.Windows.Forms.OpenFileDialog();
//устанавливаем директорию по умолчанию
of.InitialDirectory = "d:\\" ;
//устанавливаем фильр, какие фаилы нас интересуют, и как их называть
of.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*| Фаилы зенки (*.зенкоформат)|*.xmlz" ;
   
//вызываем обработку события
button.Click+=delegate(object sender, System.EventArgs e)
{
    if(of.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    {
        var list = project.Lists["Список 1"];
        list = System.IO.File.ReadAllLines(of.FileName).ToList();
        }
};


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

return 0;
Сохранение файла:
Код:
System.Windows.Forms.Form F = new System.Windows.Forms.Form();
F.Text = "Наша форма";

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

//создаем форму
System.Windows.Forms.SaveFileDialog sf = new System.Windows.Forms.SaveFileDialog();
//устанавливаем директорию по умолчанию
sf.InitialDirectory = "d:\\" ;
//устанавливаем фильр, какие фаилы нас интересуют, и как их называть
sf.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*| Фаилы зенки (*.зенкоформат)|*.xmlz" ;
   
//вызываем обработку события
button.Click+=delegate(object sender, System.EventArgs e)
{
    if(of.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    {
        //… то кладем в переменную test адрес к фаилу

        project.Variables["test"].Value= of.FileName;
    }
};
//кидаем кнопку на форму
F.Controls.Add(button);
//запускаем форму
F.ShowDialog();

return 0;
Если их оба удалить, тогда остальные начинают запускаться.
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
791
Благодарностей
136
Баллы
43
А как написать тест в самом окне? В местах, где на скрине указал http://take.ms/gRFWM
Подскажите пожалуйста.
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
Не ожидал, что зенку вместе с Windows Forms кто-то использует
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
Оба кода рабочие.
 

baimkin

Client
Регистрация
04.08.2015
Сообщения
283
Благодарностей
111
Баллы
43

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
Очень даже используем, т.к логику на c# написать мне пока сложно, а формы не проблема.
че-то ты меня озадачил, то есть ты не можешь прописать if, while и ещё много несложных вещей, а с делегатами, формами и событиями на раз-два расправляешься? o_O
 

baimkin

Client
Регистрация
04.08.2015
Сообщения
283
Благодарностей
111
Баллы
43
да не могу, т.к мой if, while могут обращаться дальше очень далеко и я не знаю как правильно написать код, могу тока небольшие блоки логики писать на c#, а с формами не проблема, на все проекты сделал интерфейсы для удобного управления ими, сейчас хочу еще в WinForm начать использовать функцию System.Windows.Forms.WebBrowser
 
Регистрация
08.07.2015
Сообщения
2 848
Благодарностей
712
Баллы
113
собственно сабж!
Как поменять ЮзерАгент для браузера который отрабатывает в ВинФорме?
Или как его прописать в данной форме?
Так как браузер который отрабатывает в форме шлет древний ЮзерАгент Mozilla/4.0 (compatible; MSIE 7.0; Windows
изза этого БОРОДА!
Код:
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;
 
Регистрация
08.07.2015
Сообщения
2 848
Благодарностей
712
Баллы
113
Нашел вот такой код. Не пойму что и куда надо прописать, что бы окно инстанса открылось.
Код:
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);
Или этот код не для этого предназначен?
оно и так открывается но пустое, что куда вписывать я сам не знаю! Просто апну может кто подскажет!
 

baimkin

Client
Регистрация
04.08.2015
Сообщения
283
Благодарностей
111
Баллы
43
собственно сабж!
Как поменять ЮзерАгент для браузера который отрабатывает в ВинФорме?
Или как его прописать в данной форме?
Так как браузер который отрабатывает в форме шлет древний ЮзерАгент Mozilla/4.0 (compatible; MSIE 7.0; Windows
изза этого БОРОДА!
Код:
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;
А разве WebBrowser не отправляет данные Юзер Агента установленного на компе IE, если IE будет свежий то и данные агента вроде должны пойти свежие.
 
Регистрация
08.07.2015
Сообщения
2 848
Благодарностей
712
Баллы
113
А разве WebBrowser не отправляет данные Юзер Агента установленного на компе IE, если IE будет свежий то и данные агента вроде должны пойти свежие.
нет там свой браузер в вебформах как я понял ie7 версии чтоли )))
 

baimkin

Client
Регистрация
04.08.2015
Сообщения
283
Благодарностей
111
Баллы
43

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