Архив рубрики «WPF»

ConfigurationManager — ошибка

Дата: 9.06.2010
Категории: Visual Studio (C#) WinForms WPF

Довелось мне изучая .NET столкнуться со следующей проблемой: нужно было получить строку соединения с БД (WPF приложение). Я решил поискать информацию в интернете. После недолгих поисков нашел, что это можно получить посредством класса ConfigurationSettings.

Кстати, ConfigurationSettings находится в пространсте имен System.Configuration.

На заметку: если вы не знаете/не помните в каком пространстве имен тот или иной класс, но точно знаете как он пишется, вы можете сделать следующее: написать этот класс (на этом этапе будет ошибка), затем навести на маленький прямоугольник под строкой и выбрать пункт меню представленный на рисунке ниже. Все это же можно выбрать нажав Ctrl + «.»

Добавить пространство имен

Прочитать остальную часть записи »

Ёлочка на рабочий стол. Создай сам

Дата: 23.12.2009
Категории: Visual Studio (C#) WPF

Скоро новый год и конечно же на своем рабочем столе нужно создать новогоднее настроение. Этим мы сейчас и займемся — создадим новогоднюю ёлку. Я подробно опишу создание приложения «Новогодняя ёлочка», в итоге будет примерно так:

Ссылки на готовое приложение и его исходный код вы найдете в конце статьи. Прочитать остальную часть записи »

Добавить в автозагрузку

Дата: 3.12.2009
Категории: Visual Studio (C#) WinForms WPF

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

Немного теории

Я надеюсь, что все знают как добавить вручную приложение в автозапуск через редактор реестра. Перед тем как писать код, нужно четко представлять, как это делается вручную.

Итак, запускаем стандартное приложение ОС для работы с реестром. Это должны знать все, но все же чтобы это смог сделать каждый кратко опишу. Либо C:\Windows\regedit.exe, либо Пуск -> Выполнить, написать в поле regedit, нажать ОК.

Открылся редактор реестра. Переходим по ветке HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

Раздел Run содержит строковые параметры которые содержат пути к запускаемым приложениям. Т.е. если создать строковый параметр а в качестве его значения написать полный путь до программы, то при запуске ОС это приложение автоматически запустится.
Прочитать остальную часть записи »

Новое в WPF 4.0

Дата: 13.11.2009
Категории: WPF

.net Logo

Сегодня с удовольствием послушал Романа Здебского на конференции Платформа 2010. Постараюсь рассказать о чем был доклад.

В докладе Роман Здебский рассказал и продемонстрировал на примерах более существенные и интересные изменения в WPF.

Итак, нового в WPF 4.0 вполне достаточно. Исправлены некоторые недочеты, такие как отображение текста, о чем я расскажу ниже, добавлены новые функции, элементы управления. Также в .NET 4 новый XAML парсер, который стал работать быстрее.

Как известно, не на каждом компьютере может быть установлен .NET, но очень важно дать хороший и удобный инструмент для развертывания приложений. Был существенно улучшен .NET Framework Client Profile. Также можно будет создавать установочные архивы с собственным внешним видом, а не стандартные «серые».

Улучшение визуализации

Улучшена четкость текста на мониторах с низким разрешением. В предыдущих версиях текст выглядел немного размытым, а при низких разрешениях это было заметно еще сильнее. Это происходило из-за того что WPF пытался отобразить текст на границе пикселей, тем самым просто размазывая его.

Ideal vs Display

На рисунке выше, это видно не вооруженным глазом.
Прочитать остальную часть записи »

Получить содержимое файла из интернет

Дата: 10.11.2009
Категории: Visual Studio (C#) WinForms WPF

Иногда необходимо получить содержимое файла из интернет, например, в файле может содержится информация о последней версии приложения или просто получить HTML код страницы.

Я написал готовую функцию, котрая возвращает содержимое всего файла в качестве строки:

public string GetHtmlPageText(string url)
{
   string txt = String.Empty;
   WebRequest req = WebRequest.Create(url);
   WebResponse resp = req.GetResponse();
   using (Stream stream = resp.GetResponseStream())
   {
      using (StreamReader sr = new StreamReader(stream))
      {
         txt = sr.ReadToEnd();
      }
   }

   return txt;
}

Прочитать остальную часть записи »

Убрать приложение из Alt+Tab

Дата: 31.10.2009
Категории: Visual Studio (C#) WinForms WPF

В некоторых случаях нет необходимости показывать форму приложения в меню Alt+Tab. Убрать очень просто:

[DllImport("user32.dll")]
private static extern int SetWindowLong(IntPtr window, int index, int value);

[DllImport("user32.dll")]
private static extern int GetWindowLong(IntPtr window, int index);

private const int GWL_EXSTYLE = -20;
private const int WS_EX_TOOLWINDOW = 0x00000080;

public static void HideFromAltTab(IntPtr Handle)
{
    SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, 
        GWL_EXSTYLE) | WS_EX_TOOLWINDOW);
}

Функция SetWindowLong изменяет атрибуты определяемого окна.

Функция GetWindowLong возвращает информацию об окне.

Далее в обработчике формы Load пишем:

private void FormMain_Load(object sender, EventArgs e)
{
    HideFromAltTab(this.Handle);
}