Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Автор: Lihonosov
Дата сообщения: 29.08.2008 12:56
BaluBig
Нашел похожую программу, в которой есть то, что я хочу реализовать, вот скин:

Может правильнее рисовать не Rectangle AND Polygons?
Просто хочется с самого начала уточнить может есть другие способы реализации подобного.
Автор: BaluBig
Дата сообщения: 30.08.2008 11:40

Цитата:
Может правильнее рисовать не Rectangle AND Polygons?
Просто хочется с самого начала уточнить может есть другие способы реализации подобного.
Альтернативой рисованию может быть составление картинки из предварительно подготовленных emf файлов (файлы для объектов "стекло", "рама", "ручка" и т.п.). Но судя по тому, что я вижу, на подготовку таких файлов и их вывод потратится больше усилий, чем на прямое рисование. ИМХО.
Кстати об определении принадлежности точки многоугольнику (hit test): вот. И вообще очень полезный FAQ по Windows Forms.
Автор: Lihonosov
Дата сообщения: 30.08.2008 13:03
BaluBig
Спасибо. Буду пробовать.
Автор: David_Kats
Дата сообщения: 08.09.2008 15:53
Создаю форму, данные из которой нужно записывать в книгу Excel. Подскажите как начать работу с MS Excel. Нужно ли подключать дополнительно какие-нить библиотеки? если да, то какие и как? Как создается объект "книга Excel" и все такое прочее. Может кто подкинет ссылки на ЭТУ тему почитать. Заранее спасибо!
Автор: GastonR
Дата сообщения: 08.09.2008 18:18
David_Kats

Цитата:
Создаю форму, данные из которой нужно записывать в книгу Excel. Подскажите как начать работу с MS Excel. Нужно ли подключать дополнительно какие-нить библиотеки? если да, то какие и как? Как создается объект "книга Excel" и все такое прочее. Может кто подкинет ссылки на ЭТУ тему почитать

Можно воспользоваться Primary Interop Assemblies, тогда на сервер даже не нужно офис устанавливать. Так же Excel-ский файл можно подключить через OLEDB, но в этом случае ты не получишь доступа к объектной модели Excel, а будешь работать как с базой данных (каждый лист, или диапазон в листе будут отдельными таблицами). Вот несколько ссылок по теме:
Взаимодействие Microsoft Excel с приложениями .NET - позднее связывание
How to automate Microsoft Excel from Microsoft Visual C# .NET
Excel Interop Use
Office Primary Interop Assemblies
Automating MS Excel Using Visual Studio .NET
BasicExcel - A Class to Read and Write to Microsoft Excel
Автор: David_Kats
Дата сообщения: 08.09.2008 18:34
GastonR
Спасибо пребольшое! Кажется, ты дал мне все, что необходимо. Для начала, по крайней мере.
Автор: 0rlangure
Дата сообщения: 14.09.2008 11:03
в C# иногда не срабатывает событие для webbrowser documentcompleted. чаще всего оно не срабатывает, если переход был осуществлен вручную кликом по ссылке, а также когда загружается страница в результате нажатия submit в форме, передающей данные методом post. в случаях, когда переходы по ссылкам осуществляются самой программой (webbrowser.navigate("");), событие срабатывает каждый раз. помогите, пожалуйста, сделать так, чтобы вышеуказанное событие срабатывало не только после webbrowser.navigate(), но и после переходов по ссылке, сделанных самим пользователем.
Автор: Granmer
Дата сообщения: 15.09.2008 08:34
Подскажите, плиз, как считать из переменной типа string, с содержимым: <tagname param1="value1" param2="value2" /> в переменную типа XElement или подобную для обработки отдельного xml-тэга, чтения его параметров (их может быть произвольное количество). Нашел примеры только для работы с целыми документами, а с отдельным тэгом - ничего нет.

Добавлено:
Всё разобрался, оказывается я не заметил у XmlDocument метод LoadXml, а пробовал только через Load, который из строки не умеет.
Автор: infinitybaha
Дата сообщения: 15.09.2008 12:33
я не знаю было ли здесь про это...

как ID передавать ?
Автор: EZH
Дата сообщения: 15.09.2008 22:25
infinitybaha
Куда и откуда передавать? Какой тип у ID?
Автор: David_Kats
Дата сообщения: 16.09.2008 15:48
Программно открываю файл, который находится на сервере. Но доступ на сервер требует авторизации. Но при программной попытке доступа к файлу авторизация не выскакивает, а генерируется исключение. Как сделать чтобы выскакивало окошко авторизации? Ведь это происходит когда просто мышкой пытаешься зайти на сервер.
Автор: BaluBig
Дата сообщения: 16.09.2008 21:01
infinitybaha
С такими вопросами тебе сюда.
Автор: Mike13x13
Дата сообщения: 17.09.2008 11:28
David_Kats

Цитата:
Программно открываю файл, который находится на сервере. Но доступ на сервер требует авторизации. Но при программной попытке доступа к файлу авторизация не выскакивает, а генерируется исключение. Как сделать чтобы выскакивало окошко авторизации? Ведь это происходит когда просто мышкой пытаешься зайти на сервер.

Используй NetworkCredentials, если знаешь данные для аутентификации, можешь делать прямо в коде, если хочешь окошко - перед попыткой открытия файла на серваке выводи форму с запросом юзер/пароль/домен и на основании инфы с формы генери соответствующие NetworkCredentials. Где-то так.
Автор: David_Kats
Дата сообщения: 17.09.2008 17:39
Mike13x13
посмотрел пример в хелпе:

reportViewer1.ProcessingMode =
Microsoft.Reporting.WinForms.ProcessingMode.Remote;

reportViewer1.ServerReport.ReportPath =
@"/Adventureworks Sample Reports/Company Sales";

NetworkCredential myCred = new
NetworkCredential("UserName", "Password", "DomainName");
reportViewer1.ServerReport.ReportServerCredentials.NetworkCredentials =
myCred;

reportViewer1.RefreshReport();

но при "билд солюшн" выдает ошибку, что reportViewer1 не существует в данном контексте. Пространства имен включил какие показаны в примере. (System.Net)
Автор: Mike13x13
Дата сообщения: 17.09.2008 19:00
David_Kats

Цитата:
Пространства имен включил какие показаны в примере. (System.Net)

Ну, дык на NetworkCredential не ругается , именно они находятся в System.Net. А вот где у тебя определение/инициализация для reportViewer1? Компилятор ведь конкретно на него и ругается.
Автор: David_Kats
Дата сообщения: 17.09.2008 19:36
Mike13x13
А каким типом reportViewer1 нужно инициализировать?
Автор: BaluBig
Дата сообщения: 18.09.2008 09:24
David_Kats
reportViewer - это копать в сторону Microsoft Reporting Services. К твоей проблеме отношения точно не имеет.
Автор: 085
Дата сообщения: 18.09.2008 13:41
я в разметке плохо разбираюсь. Подскажите- нужно сделать обычную index веб страницу, по краям тонкие колонки и в центре основной раздел. Пытался тупо div в центре разместить,конечно не получилоось. Хоть подскажите где попроще про это прочитать.
Автор: eLLoco
Дата сообщения: 18.09.2008 17:33

Цитата:
я в разметке плохо разбираюсь. Подскажите- нужно сделать обычную index веб страницу, по краям тонкие колонки и в центре основной раздел. Пытался тупо div в центре разместить,конечно не получилоось. Хоть подскажите где попроще про это прочитать.

085, есть целый раздел по веб-программированию, верстке и т.д.
Автор: 085
Дата сообщения: 18.09.2008 17:36
eLLoco -спасибо конечно, вобщем уже разобрался более менее. Мне нужно было простое решение в ASP.NET и всё. Привык что здесь половину работы выполняет IDE.

Добавлено:
ещё проблема. Для того чтобы с первой формы иметь доступ к контролам на второй форме делаю так - в Form1.cs- Form2 form2=new Form2; form2.Controls.AddRange(new Control[] { textbox1, textbox2, label1, label2 });.
По другому это можно сделать?
Автор: eLLoco
Дата сообщения: 18.09.2008 18:59

Цитата:
Мне нужно было простое решение в ASP.NET и всё. Привык что здесь половину работы выполняет IDE.

ASP.NET таки развращает, речь шла обо обычной верстке HTML


Цитата:
ещё проблема. Для того чтобы с первой формы иметь доступ к контролам на второй форме делаю так - в Form1.cs- Form2 form2=new Form2; form2.Controls.AddRange(new Control[] { textbox1, textbox2, label1, label2 });.
По другому это можно сделать?

Хм, по-моему, здесь наоборот, ты добавляешь контролы 1-ой формы в коллекцию второй - непонятно зачем

Лучше сделать контролы public вместо private (по умолчанию), или (еще лучше) добавить пару public property-ев или методов и через них изменять / читать контролы. Тогда можно будет на первой форме:

Form2 form2=new Form2;
form2.label1.Text = "тырыпыры"; // первый вариант
form2.SetInfoText("тырыпыры"); // второй вариант
Автор: 085
Дата сообщения: 21.09.2008 18:27
eLLoco - спасибо. Хмм и правда не правильно делал. Просто хотел вручную в коде сделать ещё одну форму и напихать на неё контролы. Хотя может просто надо было делать так вначале вместо Form2 form2=new Form2---
Form ft = new Form();
ft.Name = "Form3"// вроде логически подумать должно работать.


Вот ещё проблема. Нужно сделать хранимую процедуру. Делается просто так ?
SqlCommand cv = new SqlCommand();
cv.CommandType = CommandType.StoredProcedure();
cv.CommandText = " текст процедуры";
ну и там дальше соответственно.
извиняюсь если что за глупые вопросы, ещё учусь, и мсскуэль сервер не встал нормально так что пока что вслепую делаю.

Автор: eLLoco
Дата сообщения: 21.09.2008 18:35

Цитата:
Вот ещё проблема. Нужно сделать хранимую процедуру. Делается просто так ?
SqlCommand cv = new SqlCommand();
cv.CommandType = CommandType.StoredProcedure();
cv.CommandText = " текст процедуры";
ну и там дальше соответственно.
извиняюсь если что за глупые вопросы, ещё учусь, и мсскуэль сервер не встал нормально так что пока что вслепую делаю.


То, что ты написал - это вызов хранимой процедуры. При этом в CommandText должен быть не ее текст, а ее название. А сама процедура должна быть создана на MS SQL Server и существовать к моменту вызова.

И еще - почаще смотри в MSDN, это избавит тебя от огромного количества "глупых" вопросов. Просто попробуй нажать в Visual Studio клавишу F1, стоя курсором на CommandType.StoredProcedure - и то, о чем я написал выше, ты сможешь прочитать в лучшем виде. Будешь и свое время экономить и коллективное
Автор: 085
Дата сообщения: 21.09.2008 19:13
eLLoco - извиняюсь вопросов больше не будет. В МСДН не всегда всё очевидно. Прекрасно знаю как им пользоваться и свободно читаю на английском, но всё таки это тех. справочник и бывают затруднения. Просто не ясно было можно ли писать хран.процедуры сразу в программе.
Автор: eLLoco
Дата сообщения: 22.09.2008 08:49
085

Цитата:
извиняюсь вопросов больше не будет

ну зачем же так категорично


Цитата:
В МСДН не всегда всё очевидно. Прекрасно знаю как им пользоваться и свободно читаю на английском, но всё таки это тех. справочник и бывают затруднения.

там обычно не стоит вчитываться в список объектов/свойств/методов/.., а искать примеры по теме, благо, что их достаточно - их примеров обычно все можно понять как и что использовать.


Цитата:
Просто не ясно было можно ли писать хран.процедуры сразу в программе.

они на то и хранимые, чтобы храниться рядом с базой данных, а вызываться извне по имени и списку параметров.
Автор: skYmarine
Дата сообщения: 29.09.2008 05:22
Есть игра такая - КАЛАХ - тут вот описание __http://articles.org.ru/cfaq/index.php?qid=1735&catid=64.

Там приведены исходники судя по всему на с или с++ (я в этих вопросах не шарю).

Мне вот надо такую игру написать на C#.

Та прога которая приведена на сайте меня устраивает(имеется ввиду алгоритм, "визуализация" идет лесом), но я в упор не могу переделать ее на C# (а я пишу именно на C#), почему-то все зацикливается.

Если у кого-нибудь есть решение данной задачи - помогите, пожалуйста.
Автор: Mike13x13
Дата сообщения: 07.10.2008 02:51
skYmarine

Цитата:
Есть игра такая - КАЛАХ - тут вот описание __http://articles.org.ru/cfaq/index.php?qid=1735&catid=64.

Там приведены исходники судя по всему на с или с++ (я в этих вопросах не шарю).

Мне вот надо такую игру написать на C#.

Та прога которая приведена на сайте меня устраивает(имеется ввиду алгоритм, "визуализация" идет лесом), но я в упор не могу переделать ее на C# (а я пишу именно на C#), почему-то все зацикливается.

Если у кого-нибудь есть решение данной задачи - помогите, пожалуйста.


Вероятно, ошибка в реализации алгоритма - прогони под дебагером и посмотри, так найти место ошибки, пожалуй, легче всего.
Автор: vetal71
Дата сообщения: 07.10.2008 15:48
Привет всем. Подскажите новичку, почему не работает код:
private void frmMain_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
// Обработка нажатия клавиши Enter
this.SelectNextControl(this, true, true, false, false);
}
}
На форме 4 TextBox.
Свойство формы KeyPreview = true
Что я упустил ? Метод срабатывает, а фокус следующему компоненту не передается
Автор: Lihonosov
Дата сообщения: 07.10.2008 17:14
vetal71
Т.е. нужно, чтобы после ввода в первый текстбокс нужного значения и нажатия клавиши энтер, фокус перевелся на следующий текстбокс?
А возможно обработчик нужно повесить на текстбоксы, а не на главную форму?

Добавлено:
MSDN:

Код: public bool SelectNextControl(
Control ctl,
bool forward,
bool tabStopOnly,
bool nested,
bool wrap
)
Автор: Mike13x13
Дата сообщения: 07.10.2008 18:46
Lihonosov

Цитата:
vetal71
Т.е. нужно, чтобы после ввода в первый текстбокс нужного значения и нажатия клавиши энтер, фокус перевелся на следующий текстбокс?
А возможно обработчик нужно повесить на текстбоксы, а не на главную форму?

именно так и не иначе

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102

Предыдущая тема: Как удалить/добавить/отключить/включить устройство?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.