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

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

Автор: Omicron_Persey_8
Дата сообщения: 17.02.2011 09:02
giv5dot26
Уже хорошо. Осталось узнать, что за Exception выкидывается и примерно в каком месте. Я так полагаю, что в строке
Цитата:

Код: DlgOpenFile.ShowDialog();
Автор: giv5dot26
Дата сообщения: 17.02.2011 10:42
ээээмм... а что тут не так как считаете? вот такой код ведет себя так же:

Код:
try
{
DlgOpenFile.ShowDialog();
y = DlgOpenFile.FileNames.Count() - 1;
}
catch (PlatformNotSupportedException ex)
{
MessageBox.Show(ex.Message);
return;
}
if (!FileOpened)
return;
if (y >= 18)
{
MessageBox.Show("Нужно выбрать не более 18 файлов!");
FileOpened = false;
return;
}
for (x = 0; x <= y; x++)
{
Foo(DlgOpenFile.FileNames[x]);
}
Автор: Omicron_Persey_8
Дата сообщения: 17.02.2011 12:06
giv5dot26
То есть падает все-таки на DlgOpenFile.ShowDialog() ???
А на какой версии .NET Framework запускаете?
Автор: giv5dot26
Дата сообщения: 18.02.2011 03:06
Omicron_Persey_8
Вроде выяснил что это происходит из-за отсутствия .net framework 3.5, вот только каким исключением это отловить?
Автор: Mextrom
Дата сообщения: 18.02.2011 08:06
giv5dot26

Цитата:
вот только каким исключением это отловить?

Можно в нужное место поставить
Код: catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
Автор: giv5dot26
Дата сообщения: 18.02.2011 08:54
Решил не париться, все равно нужен .net framework так что смысла извращаться нет. Вставил как вы на писали Mextrom, ноничего не происходит вываливается ошибка времени исполнения.
Автор: Mextrom
Дата сообщения: 18.02.2011 09:14
giv5dot26
Я не могу понять, если у вас не установлен framework, то как у вас вообще приложение компилируется?
блоки try-catch как раз и отлавливают ошибки времени исполнения, может быть, ошибка вылетает не там, где вы предполагаете? Возможно, у вас ошибка вываливается не во время работы диалога, а уже во время открытия файла? Без текста сообщения об ошибке можно только гадать.
Автор: Omicron_Persey_8
Дата сообщения: 18.02.2011 09:47
Mextrom

Цитата:
Я не могу понять, если у вас не установлен framework, то как у вас вообще приложение компилируется?

Там косяк в том, что в семерке стоит одна версия Framework'а, а в XP - другая. Плюс ко всему, начиная с .Net Framework 3.0 классов OpenFileDialog стало два: один в System.Windows.Forms, который (если верить MSDN) работрает везде, где есть .NET, и второй, в Microsoft.Win32, который работает в винде, начиная с WinXP SP2. Я с подобным косяком сталкивался один раз, когда пытался WinAPI CodePack запустить на XP. Он у меня не мог какую функцию WinAPI вызвать, связанную с получением абсолютного пути к папке по обобщенному имени, типа ("Изображения" или "Мои документы") для текущего пользователя.
Автор: giv5dot26
Дата сообщения: 18.02.2011 09:51
Omicron_Persey_8 прав ибо класс OpenFileDialog отличаются в 2.0 и 3.5 версиях. .net framework не был установлен на одной из машин на которых я протестил свое приложение.
Автор: delover
Дата сообщения: 18.02.2011 15:26
Здраствуйте
Сломал уже голову и гугль по несколько раз. Незнаю как сделать. В компоненте WebBrowser можно нажать <Ctrl+F>. И появится окно поиска текста в документе. Но я хочу чтобы это же окошечко можно было вызвать по нажатию на кнопку. Зачём реализовывать свой поиск если уже готовый работает красиво. Но вот как приказать WebBrowser чтобы он открыл это окно?

Или может можно послать ему самостоятельно нажатие на Ctrl+F? Тоже как сделать незнаю.
Автор: May_Johnson
Дата сообщения: 19.02.2011 17:06
delover


Код:
private void button1_Click(object sender, EventArgs e)
{
this.webBrowser1.Focus();
SendKeys.Send("^f");
}
Автор: delover
Дата сообщения: 20.02.2011 08:30
May_Johnson
Агромное спасибо гуру.
Автор: delover
Дата сообщения: 24.02.2011 06:49
А может кто знает? На Икспихе все контролы красивенькие всмысле ToolStrip объёмные и синенькие. На висте не объёмные и серенькие. Вообще не весёлые. Как то можно включить стили на Висте?
Автор: mrlika
Дата сообщения: 24.02.2011 13:09
Точно не скажу, но надо смотреть на свойства:

Renderer     Получает или задает значение для элемента управления ToolStripRenderer, используемого для настройки внешнего вида и поведения элемента управления ToolStrip.
RenderMode     Получает или задает стили оформления, применимые для объекта ToolStrip.


RenderMode:
Custom     Показывает, что свойство RenderMode не определяется объектом ToolStripManager или используется объект ToolStripRenderer, отличный от ToolStripProfessionalRenderer и ToolStripSystemRenderer
System     Указывает назначение объекта ToolStripSystemRenderer для рисования.
Professional     Указывает назначение объекта ToolStripProfessionalRenderer для рисования.
ManagerRenderMode     Показывает, что стиль оформления определяется свойством ToolStripManager.RenderMode или ToolStripManager.Renderer.

В свою очередь:
ToolStripSystemRenderer - рисует используя системные цвета и стили.
ToolStripProfessionalRenderer - рисует используя Office XP стиль и поддерживает Windows XP темы
Автор: niichavo
Дата сообщения: 25.02.2011 10:04
Добрый день. Вопрос не по программированию.

Есть VS2010, солюшн записан на переносной ЖД. На компе №1 открываю солюшн, открываю кучу файлов, работаю, закрываю студию. Если открыть солюшн на этом же компьютере (№1), от откроются ранее открытые файлы. Если же открыть солюшн на компе №2, то файлы придётся открывать снова, т.к. файлы открытые на компе №1 не откроются. И наоборот, соответственно. Т.е. файлы открываются повторно только на том компе, на котором ты их открыл.

Вопрос. Можно-ли, независимо от кома, открывать отрытые файлы? Если "да", то как?
А то уже замучился повторно открывать
Автор: mrlika
Дата сообщения: 25.02.2011 10:29
niichavo

Информация об открытых файлах не хранится в солюшине. Скорее всего она хранится где-то в реестре. Причем она привязана к конкретному файлу солюшина. Даже если скопировать солюшин в другое место и открыть на одном и том-же компе то открытые файлы не сохранятся.

Получается что нормальным спобом этого сделать нельзя. Единственное решение - найти где хранится информация об открытых файлах и таскать ее с собой, восстанавливая на каждом компе. Что, имхо, совсем неудобно.
Автор: niichavo
Дата сообщения: 25.02.2011 12:04
mrlika
Спасибо!
Я так и подозревал, однако надеялся на то, что есть какое-то простое решение. Жаль, конечно...
Автор: niichavo
Дата сообщения: 25.02.2011 15:01
Вроде как в скрытом файле с расширением suo храниться список открытых файлов решения и/или проекта. Жаль, что этот файл бинарный. Нельзя ничего ручками поправить. Возможно дело в путях к открытым файлам. А эти пути могут не совпадать на разных компьютерах из-за буквы диска, присваиваемой при подключении внешнего ЖД.

Попробую сделать так, чтобы буква диска совпадала на разных компах...

UPD: Заработало!
Автор: delover
Дата сообщения: 26.02.2011 14:12
mrlika
Спасибо но у меня Framework 40. А свойство Renderer определено в Namespace: Microsoft.Ink Assembly: Microsoft.Ink (in Microsoft.Ink.dll) которой у меня почемуто нет.
У меня есть текст

Код: Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Автор: mrlika
Дата сообщения: 27.02.2011 22:42
delover

Свойство Renderer определено в классе ToolStrip, который в "System.Windows.Forms". Причем тут Microsoft.Ink ума не приложу. Неймспейс Microsoft.Ink содержит класс Renderer но причем тут он?

Свойство Renderer вообще-то имеет тип (класс) ToolStripRenderer.

Похоже вы совсем не в те дебри забрели
Автор: delover
Дата сообщения: 03.03.2011 17:07
mrlika
Спасибо уже есть подвижки в моём вопросе. На Microsoft.Ink меня отправил Help студии. Я уже могу задавать Professional, и моде и рендерер, но выглядят в висте у меня они так же блёкло. Если я задаю System то они вообще древними становятся. А как сделать хоть серыми, но хотябы выпуклыми я не могу. И мне нравятся икспишные меню с контрастной вертикальной полоской, этого тоже нет. Хотя у меня по сути производственная аська - хочется хотябы одну грамотную тему поставить, а не так чтобы всё серое.
Автор: svs123456789
Дата сообщения: 07.03.2011 10:06
с вижуал студией (2008) ставится эскуэл экспрес эдишен,
но к нему нет менеджмента
Автор: CyberMaster0
Дата сообщения: 07.03.2011 11:52
Небольшой вопросик: как запретить юзверю редактировать ComboBox, что бы он мог выбрать значение только из выпадающего списка?
Автор: May_Johnson
Дата сообщения: 07.03.2011 12:51
CyberMaster0

c# readonly combobox

первые 9000 ссылок вам подходят
Автор: Garrett
Дата сообщения: 07.03.2011 12:56
CyberMaster0
DropDownStyle = DropDownList
Автор: CyberMaster0
Дата сообщения: 07.03.2011 15:38
Спасибо! И если можно еще такой вопрос: как разрешить в ComboBox вводить только цифры и backspace?
P.s гугл может и знает как это сделать, но от меня он это почему-то скрывает
Автор: vlary
Дата сообщения: 08.03.2011 12:19
svs123456789

Цитата:
к нему нет менеджмента
А скачать с их сайта не судьба?
Microsoft® SQL Server® 2008 Management Studio Express
Автор: May_Johnson
Дата сообщения: 08.03.2011 13:54
CyberMaster0


Код:
public Form1()
{
InitializeComponent();
this.comboBox1.KeyDown += new KeyEventHandler(comboBox1_KeyDown);
}

void comboBox1_KeyDown(object sender, KeyEventArgs e)
{
if (!char.IsDigit((char)(e.KeyValue)))
e.SuppressKeyPress= true;
}
Автор: CyberMaster0
Дата сообщения: 09.03.2011 14:18
May_Johnson
При таком раскладе клавиша backspace не работает А так же не работают цифры, если вводить их из "Num Lock"
Собственно решил проблему таким образом:

Код:
public MainWindow()
{
InitializeComponent();
this.comboBox1.KeyPress += new KeyPressEventHandler(comboBox1_KeyPress);
}

void comboBox1_KeyPress(Object sender, KeyPressEventArgs e)
{
if (!(char.IsDigit(e.KeyChar) || char.IsControl(e.KeyChar)))
e.Handled = true;
}
Автор: svs123456789
Дата сообщения: 09.03.2011 18:42
почему то срабатывает только после 3 кликов
{
this.webBrowser1.Focus();
SendKeys.Send("^f");
}
как будто вебброузер не активизируется

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102

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


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