"My cat, as it turns out, is an excellent debugger, and she has helped me solve a number of nasty bugs when I talked to her about them."
John Robbins, Debugging Applications, Microsoft Press, 2000
/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */

Примеры для .NET Compact Framework/Windows Mobile 6.5

GPS Framework for .NET

Программа с открытым исходным кодом для создания приложений с использованием GPS

GPS.NET 3.0

30 дней Windows Mobile

Многие из вас, наверное, читали цикл статей из блога Chris Craft's Blog «30 Days of .NET [Windows Mobile Applications]».

  1. Обратный отсчёт до полуночи
  2. Менеджер Bluetooth

Копируем файлы с настольного компьютера на устройство

Christian Helle's Blog: Copying files from the Desktop to the Device using .NET

Получить список файлов на устройстве с настольного компьютера

Christian Helle's Blog: How to enumerate files on a Windows CE based device from the Desktop

Обрезать картинку

Чтобы обрезать картинку (crop), достаточно создать новый объект Image и вывести часть картинки-источника с указанным ограничивающим прямоугольником.

public static Image CropImage(Image source, Rectangle bounds)
{
    Image newImage = new Bitmap(bounds.Width, bounds.Height);
	using (Graphics g = Graphics.FromImage(newImage))

	g.DrawImage(source,
	    new Rectangle(0, 0, newImage.Width, newImage.Height),
		bounds,
		GraphicsUnit.Pixel);
		return newImage; 
}

Создание форм не на весь экран

На мобильных устройствах, как правило, используются окна, распахнутые на весь экран. Если нужно сделать маленькое окно, то придется поработать над этим. Продолжение следует...

Скачать пример nonfullscreendemo.zip

Затемнение фона в WM приложении

Алекс Яхнин на своем сайте привел пример приложения с эффектом затемняющегося фона при показе окна сообщения (MessageBox). Для реализации эффекта использовался метод DrawAlpha класса GraphicsExtender (подробнее можно узнать из вебкаста. Взгляните на этот отрывок кода:


protected override void OnPaint(PaintEventArgs e)
{
      // Create a temp bitmap
      Bitmap dimBackGround = new Bitmap(this.Width, this.Height);
      Graphics gxTemp = Graphics.FromImage(dimBackGround);

      // Color it black
      gxTemp.Clear(Color.Black);

      // Draw it with alpha transparency
      e.Graphics.DrawAlpha(dimBackGround, 100, 0, 0);

      // Clean up
      gxTemp.Dispose();

      dimBackGround.Dispose();                
 }  

Написанный выше код является перегруженным методом OnPaint класса BackgroundForm. Установите свойство этой формы FormBorderStyle в None, а WindowState в Maximized, чтобы она отображалась на полный экран. И теперь, перед отображением окна сообщения (MessageBox) нужно показать форму BackroundForm:


BackgroundForm form = new BackgroundForm();

form.Show();

MessageBox.Show(txtMessage.Text);

form.Close();

И вот результат:

Затемненный фон

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

Скачать пример: DimmingBackgroundTest.zip

Источник: Dimming the background/Русская версия: Затемнение фона в WM приложении

Picture Viewer

Пример создания слайд-шоу на мобильном устройстве. Создан для изучения в компании Microsoft. В архиве находится документ Word, в котором пошагово рассказывается о создании полезного приложения (англ.). Также в архив включен сам проект, сделанный по этому описанию.
Скачать Picture Viewer

Реклама