Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework

Здесь есть возможность читать онлайн «Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Санкт-Петербург, Год выпуска: 2007, ISBN: 2007, Издательство: Питер, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Программирование КПК и смартфонов на .NET Compact Framework: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Программирование КПК и смартфонов на .NET Compact Framework»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Мобильные устройства все активнее вторгаются в нашу жизнь. Карманные компьютеры и смартфоны давно утратили статус дорогих игрушек и перекочевали в разряд необходимых устройств. Значит, для них необходимо создавать программное обеспечение. Так почему вы должны оставаться в стороне?
Прочитав эту книгу, вы получите знания, которые позволят вам уверенно создавать программы для карманных компьютеров и смартфонов. А огромное количество разнообразных примеров поможет быстро совершенствоваться и развиваться, обогащая свой опыт работы.
Книга предназначена для начинающих программистов.

Программирование КПК и смартфонов на .NET Compact Framework — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Программирование КПК и смартфонов на .NET Compact Framework», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

///

private void fillList() {

Cursor.Current = Cursors.WaitCursor;

// Заполняем ListView списком папок и файлов

// в выбранной папке

ListViewItem lvi;

listView.BeginUpdate();

listView.Items.Clear();

// Если не корневая папка

if (path.Length > 1) {

// Добавляем папку "Вверх"

lvi = new ListViewItem(UPDIR);

lvi.ImageIndex = 0;

listView.Items.Add(lvi);

}

// Добавляем папки

string[] dirs = Directory.GetDirectories(path);

ArrayList list = new ArrayList(dirs.Length);

for(int i = 0; i < dirs.Length; i++)

list.Add(dirs[i]);

list.Sort(new SimpleComparer());

foreach(string dir in list) {

lvi = new ListViewItem(Path.GetFileName(dir));

lvi.ImageIndex = 0;

listView.Items.Add(lvi);

}

// Добавляем файлы

string[] files = Directory.GetFiles(path);

list = new ArrayList(files.Length);

for(int i = 0; i < files.Length; i++)

list.Add(files[i]);

list.Sort(new SimpleComparer());

foreach(string file in list) {

lvi = new ListViewItem(Path.GetFileName(file));

lvi.ImageIndex = 1;

listView.Items.Add(lvi);

}

listView.EndUpdate();

if (listView.Items.Count > 0) {

// выделяем первый элемент

listView.Items[0].Selected = true;

listView.Items[0].Focused = true;

}

Cursor.Current = Cursors.Default;

}

Итак, посмотрим, что делает метод fillList. Перед заполнением элемента списком файлов надо очистить его содержимое от предыдущих записей при помощи метода Clear. После очистки списка надо проверить, является ли папка корневой. Если папка не корневая, то в список добавляется специальная папка «На один уровень выше». Затем в список добавляются все папки в отсортированном порядке.

После этого наступает очередь файлов. Они сортируются и заносятся в список. Наконец, первый элемент списка выделяется другим цветом. Заодно на первом элементе устанавливается фокус ввода. Навигация по папкам и файлам осуществляется с помощью кнопок и дополняется кнопкой Action . Код навигации приведен в листинге 7.11.

Листинг 7.11

///



/// Навигация по папкам и файлам

///

///

///

private void listView_ItemActivate(object sender, System.EventArgs e) {

Cursor.Current = Cursors.WaitCursor;

ListViewItem lvi = listView.Items[listView.SelectedIndices[0]];

bool isFolder = lvi.ImageIndex == 0;

if (lvi.Text == UPDIR) {

path = path.Substring(0,

path.Substring(0,

path.Length - 1).LastIndexOf(Path.DirectorySeparatorChar) + 1);

fillList();

} else if (isFolder) {

path += lvi.Text + Path.DirectorySeparatorChar;

fillList();

} else

ShellExecute.Start(path + lvi.Text);

Cursor.Current = Cursors.Default;

}

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

Теперь разберем код для команд меню. Для команды Вырезать код приведен в листинге 7.12.

Листинг 7.12

private void cutMenuItem_Click(object sender, System.EventArgs e) {

ListViewItem lvi =

listView.Items[listView.SelectedIndices[0]];

clipboardFileName = this.path + lvi.Text;

clipboardAction = ClipboardAction.Cut;

}

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

Листинг 7.13

private void copyMenuItem_Click(object sender, System.EventArgs e) {

ListViewItem lvi = listView.Items[listView.SelectedIndices[0]];

clipboardFileName = path + lvi.Text;

clipboardAction = ClipboardAction.Copy;

}

Для команды меню Вставить код немного усложняется. Он приведен в листинге 7.14.

Листинг 7.14

private void pasteMenuItem_Click(object sender, System.EventArgs e) {

// Если файл существует

string dest = path + Path.GetFileName(clipboardFileName);

if (File.Exists(dest)) {

if (MessageBox.Show("Файл уже существует, перезаписать?", this.Text,

MessageBoxButtons.YesNo, MessageBoxIcon.Question,

MessageBoxDefaultButton.Button2) == DialogResult.Yes)

File.Delete(dest);

else return;

}

// Перемещаем или копируем

string s = path.Substring(0, path.Length - 1);

switch(clipboardAction) {

case ClipboardAction.Cut:

File.Move(clipboardFileName, dest);

break;

case ClipboardAction.Copy:

File.Copy(clipboardFileName, dest, false);

break;

}

clipboardAction = ClipboardAction.None;

clipboardFileName = string.Empty;

fillList();

}

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Программирование КПК и смартфонов на .NET Compact Framework»

Представляем Вашему вниманию похожие книги на «Программирование КПК и смартфонов на .NET Compact Framework» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Гайдар Магдануров - ASP.NET MVC Framework
Гайдар Магдануров
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
Александр Климов - Реестр Windows 7
Александр Климов
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
Александр Климов - Гадания
Александр Климов
Отзывы о книге «Программирование КПК и смартфонов на .NET Compact Framework»

Обсуждение, отзывы о книге «Программирование КПК и смартфонов на .NET Compact Framework» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x