ConfigurationManager – ошибка
Довелось мне изучая .NET столкнуться со следующей проблемой: нужно было получить строку соединения с БД (WPF приложение). Я решил поискать информацию в интернете. После недолгих поисков нашел, что это можно получить посредством класса ConfigurationSettings.
Кстати, ConfigurationSettings находится в пространсте имен System.Configuration.
На заметку: если вы не знаете/не помните в каком пространстве имен тот или иной класс, но точно знаете как он пишется, вы можете сделать следующее: написать этот класс (на этом этапе будет ошибка), затем навести на маленький прямоугольник под строкой и выбрать пункт меню представленный на рисунке ниже. Все это же можно выбрать нажав Ctrl + «.»

PictureBox загрузить из файла
Свойство PictureBox.Image получает или задает изображение, отображаемое элементом управления PictureBox.
Пост будет полезен скорее всего начинающим, потому что у многих возникают трудности с программной загрузкой изображения в PictureBox. То есть иногда нужно изменить изображение во время работы программы на другое изображение хранящееся в файле на диске.
Реализуется все очень и очень просто:
pictureBox1.Image = Image.FromFile(@"c:\file.png");
Решил написать про это, так как изредка на блог переходят с поисковика по подобному запросу, в надежде найти ответ, которого до сих пор небыло. Надеюсь я кому-то помог.
Добавить в автозагрузку
При написании некоторых программ, иногда требуется добавить в них функционал для добавления приложения в автозапуск системы. Пользователю будет намного удобнее и проще поставить галочку в настройках программы, вместо того, чтобы самому запускать редактор реестра и прописывать необходимые параметры.
Немного теории
Я надеюсь, что все знают как добавить вручную приложение в автозапуск через редактор реестра. Перед тем как писать код, нужно четко представлять, как это делается вручную.
Итак, запускаем стандартное приложение ОС для работы с реестром. Это должны знать все, но все же чтобы это смог сделать каждый кратко опишу. Либо C:\Windows\regedit.exe, либо Пуск -> Выполнить, написать в поле regedit, нажать ОК.
Открылся редактор реестра. Переходим по ветке HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
Раздел Run содержит строковые параметры которые содержат пути к запускаемым приложениям. Т.е. если создать строковый параметр а в качестве его значения написать полный путь до программы, то при запуске ОС это приложение автоматически запустится.
Прочитать остальную часть записи »
Получить содержимое файла из интернет
Иногда необходимо получить содержимое файла из интернет, например, в файле может содержится информация о последней версии приложения или просто получить 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
В некоторых случаях нет необходимости показывать форму приложения в меню 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); }
Hint у PictureBox
Когда я только начал изучать Visual Studio я очень удивился, не найдя у PictureBox свойства Hint, в которое можно записать подсказку, появляющуюся при задержке мыши над компонентом. Думаю все знакомы с этим, не раз видели.
Решается все очень просто. Ищем компонент ToolTip в палитре компонентов.
![]()
Выкладываем его на форму. Устанавливаем у него свойство ShowAlways = True для того чтобы подсказка показывалась.
Теперь у PictureBox появится дополнительное свойство ToolTip on toolTip1 в разделе Misc.
![]()
Вот вобщем-то и все. Советую поразбираться со свойствами компонента ToolTip, можно добавить название Hint’а и сделать другую форму у Hint.