В этой публикации я приведу пример программного добавления DataGridViewComboBoxCell.
Как программно заполнить DataGridView рассматривалось здесь.
Операцию по превращению выбранной ячейки DataGridView мы проделываем с существующей ячейкой, поэтому прежде нам необходимо будет создать эту ячейку при помощи предыдущей статьи, в нашем случае будем менять ячейки в колонке с индексом 1 и строке с индексом 1.
Превратить можно не любые ячейки такой метод работает 100% с текстовыми полями. Можно и не превращать а задать сразу. Но я исхожу в данном случае из того что нам не везде нужны ComboBox-ы и следовательно может возникнуть такая необходимость.
Здесь я приведу пример создания самого простого приложения для КПК на платформе .net cf.
Для начала хотелось бы отметить один момент, что в своей разработке вы конечно можете использовать эмуляторы устройств, но я этого делать очень не рекомендую. Многие задачи которые приходится решать невыполнимы при помощи эмуляторов, поэтому если есть желание разрабатывать что-то более или менее серьёзное, то стоит обзавестись мобильным устройством. Благо самое недорогое можно купить практически за копейки. Для этих целей нет необходимости покупать новый модный и навороченный девайс, достаточно будет покупки с рук старенького видавшего виды налодонника за сущие копейки.
Здесь я приведу пример программного добавления ячеек, а соответственно столбцов и строк.
Это может понадобится тогда, когда ну очень надо заполнить DataGridView и при этом совсем не нужен DataSet.
В моём случае, чаще всего это требуется когда необходимо заполнить какие либо параметры, которые могут отличаться для одного и того же объекта, скажем их просто может быть разное количество, вдобавок они могут быть разного типа, и т.п.
В этой статье я приведу пример создания и использования отчёта Crystal Reports в Visual Studio.
Приведённый пример — это реально рабочий проект по подготовке к печати билетов на обычном лазерном принтере.
Начнём с того что нам потребуется источник данных поэтому вначале создадим проект в котором будем использовать наш отчёт и создадим источник данных который выгрузим в XML файл, для более простого и наглядного создания нового отчёта и его настройки.
Часто бывают случаи, когда создать событие для элементов управления необходимо программно, например когда нам надо выполнить определённые манипуляции с элементами и данными которые они содержат до того как начнут обрабатываться события на изменение выбранного значения, на клик мышкой, на изменение содержимого и многие другие.
Для этого целесообразно создавать события не в дизайнере формы а программно. Как это сделать я здесь и покажу на примере.
Пример будет получать источник данных в ComboBox, и по событию SelectedIndexChanged — будет выводить индекс выбранного элемента, вот это событие мы и создадим программно.
Итак приступаем:
DataSet ds = new DataSet(); //Создаем источник данных.
EventHandler handler; //Создаем делегат.
Клаcc Strings включает множество методов сравнения, поиска и изменения строковых значений. Здесь я приведу список часто необходимых (лично мне) возможностей этого класса:
Empty — свойство определяющее пустая ли строка;
Compare() — сравнивает две строки;
CompareOrdinal() — позволяет сравнивать строки в независимости от региональных настроек;
Concat() — объединяет две и более строки в новую строку;
Copy() — Копирует исходную строку;
Собственно особых проблем с передачей параметров приложению при старте делается это в C# довольно просто, вот так:
static void Main( string[] args)
{
if (args.Length == 0)
{ MessageBox.Show("Нет параметров"); }
else
{ MessageBox.Show("1"); }
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FormMain());
}
Проблема одна лишь в том, что в С# в рамках проекта может быть не один такой Main и чтобы было ясно какому из них должны быть переданы параметры, необходимо указать объект в: Project > Properties > Application > Startup Object.
Вот и всё!
В этой публикации я приведу пример получения информации о заряде аккумуляторов на мобильном устройстве под управлением Windows Mobile. Данный код написан очень давно. На днях вновь понадобился.
Для получения информации о заряде используем coredll. Получаем значения двух батареек, во многих КПК (во всяком случае промышленных, на подобии Motorola Symbol) используются 2 аккумулятора, один основной, другой резервный, для сохранности данных. Информацию можно получить и с того и с другого, если он конечно имеется.
Мобильное устройство с поддержкой .NET CF версии 3.5 (и надеюсь и выше) можно достаточно легко научить проигрывать медиа файлы формата .WAV. С этой версии .NET CF имеет необходимый набор функций для воспроизведения звуковых файлов.
Без лишних слов, просто приведу примеры, они элементарны и очень просты.
Два примера проигрывания звукового файла:
Пример №1
System.Media.SoundPlayer player = new System.Media.SoundPlayer(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\mysound.wav");
player.Play();
Итак — при первом создании .cab файла, для установки на устройство может возникнуть, и скорее всего возникнет, такая проблема:
The Windows CE CAB Wizard encountered an error. See the output window for more information.
Для того чтобы понять в чём дело, смотрим на что же всётаки ругается для этого открываем: View->Output
Там скорее всего видим это:
Error: The INF file contains Unicode characters that could not be converted correctly to ANSI
Проблема (в моём случае) оказалась в том что в свойствах проекта Manufacturer был вписан русскими буквами. Меняешь на английские и всё замечательно начинает работать.