Основные свойства элементов управления
| свойство | описание | Программный код |
| Name | Имя элемента | lbl1.Name = "labelfirst"; |
| Visible (bool) | видимость элемента | Button1.Visible=true; Кнопка видима |
| Enable (bool) | доступность элемента | Button1.Enable=false; Кнопка не доступна для нажатия |
| Location (Point) | расположение элемента | Button1.Location=new Point (20,15); Верхний левый угол кнопки будет расположен в точке (20,15) относительно левого верхнего угла формы |
| Size (Size) | размер элемента | Button1.Size = new Size (150, 30); Размер кнопки: ширина 150 пикселов, высота 30 |
| Text (string) | текст, выводимый на кнопке, в поле метки, в заголовке формы | Label1.Text=String.Empty; Очищение метки |
| TabIndex (int) | определяет порядок получения элементами фокуса при переходе от одного к другому с помощью клавиши Tab (частный случай: определяет какой элемент будет иметь фокус при запуске формы). | TextBox.TabIndex=0; Устанавливает фокус на элементе ввода в текстовое поле, например, при открытии формы |
| ForeColor (Color) | цвет текста | Label1.ForeColor=Color.Blue; Цвет текста метки – синий |
| BackColor | Цвет фона | Label1.BackColor=Color.Red; |
| Font | шрифт текста | Label1.Font=new Font (“Courier New”, 10.0F); Для метки установлен шрифт Courier New размером 10. |
| TextAlign | Выравнивание текста в элементе | Label1.TextAlign=ContentAlignment.MiddleCenter Выравнивание текста по центру поля метки textBox1.TextAlign=HorizontalAlignment.Right выравнивание текста по правому краю |
| ToolTip | Подсказка, появляющаяся рядом с указателем мыши при его позиционировании на элементе. Чтобы свойство стало доступно нужно добавить компонент ToolTip на форму |
Описание основных элементов управления
Приложения на платформе Windows Forms используют классы System.Windows.Forms.
Примеры классов элементов управления, которые можно размещать на формах.
- Label (Метка)
- Button (Кнопка)
- ListBox (Список)
- CheckBox (Флажок)
- RadioButton (Переключатель)
- MessageBox (Окно сообщений)
- Menu (Меню)
- TabControl (Управление вкладками)
- Toolbar (Панель инструментов)
- TreeView (Дерево)
- DataGrid (Сетка данных)
- PictureBox (Изображение)
- RichTextBox (Текстовое поле с поддержкой формата RTF)
Работа с файлами
Различают текстовые(StreamWriter, StreamReader), двоичные(классы BinaryReader, BinaryWriter) и байтовые файлы(FileStream).
Двоичные и байтовые потоки хранят данные в том же виде, в котором они представлены в оперативной памяти, то есть при обмене с файлом происходит побитовое копирование информации. Двоичные файлы применяются не для просмотра их человеком, а для использования в программах.
Доступ к файлам может быть последовательным, когда очередной элемент можно прочитать (записать) только после аналогичной операции с предыдущим элементом, и произвольным (прямым), при котором выполняется чтение (запись) произвольного элемента по заданному адресу. Текстовые файлы позволяют выполнять только последовательный доступ, в двоичных и байтовых потоках можно использовать оба метода.
Использование классов файловых потоков в программе предполагает следующие операции:
- Создание потока и связывание его с физическим файлом.
- Обмен информацией (чтение-запись).
- Закрытие файла.
Каждый файл можно создавать разными способами и открывать в различных режимах.
Режимы доступа к файлу содержаться в переменной FileAccess, определенном в пространстве имен System.IO. Константы перечисления приведены в таблице 2.1.
Таблица 2.1- Значения FileAccess
Значение Описание
Read Открыть файл только для чтения
ReadWrite Открыть файл для чтения и записи
Write Открыть файл для записи
Возможные режимы открытия файла определены в переменной FileMode (таблица 2.2)
Таблица 2.2 - Значения FileMode
Значение Описание
Append Открыть файл, если он существует, и установить текущий
указатель в конец файла. Если файл не существует, создать
новый файл
Create Создать новый файл. Если в каталоге уже существует файл с
таким же именем, он будет стерт
CreateNew Создать новый файл. Если в каталоге уже существует файл с
таким же именем, возникает исключение IOException
Open Открыть существующий файл
OpenOrCreate Открыть файл, если он существует. Если нет создать файл с
таким именем
Truncate Открыть существующий файл. После открытия он должен быть
обрезан до нулевой длины
Байтовые файлы (потоки)
Ввод-вывод в файл на уровне байтов выполняется с помощью класса FileStream, основные элементы которого представлены в таблице 2.3.
Таблица 2.3 - Элементы класса Stream
Элемент Описание
BeginRead, Начать асинхронный ввод или вывод
BeginWrite
CanRead, Свойства, определяющие, какие операции поддерживает поток: чтение,
CanSeek, прямой доступ и/или запись
CanWrite
Close Закрыть текущий поток и освободить связанные с ним ресурсы (сокеты,
указатели на файлы)
EndRead, Ожидать завершения асинхронного ввода; закончить асинхронный вывод
EndWrite
Flush Записать данные из буфера в связанный с потоком источник данных
и очистить буфер. Если для данного потока буфер не используется,
то этот метод ничего не делает
Length Возвратить длину потока в байтах
Position Возвратить текущую позицию в потоке
Read, Считать последовательность байтов (или один байт) из текущего потока
ReadByte и переместить указатель в потоке на количество считанных байтов
Seek Установить текущий указатель потока на заданную позицию
SetLength Установить длину текущего потока
Write, Записать последовательность байтов (или один байт) в текущий поток
WriteByte и переместить указатель в потоке на количество записанных байтов
Байтовый поток класс FileStream реализует эти элементы для работы с дисковыми файлами. Для определения режимов работы с файлом используются стандартные перечисления FileMode, FileAccess.
Пример работы с байтовым файлом
//Демонстрация чтения и записи одного байта и массива байтов, а также //позиционирование в потоке.
using System;
using System.IO;
namespace ConsoleApplication1
{ class Class1
{ static void Main()
{
//создание файловой переменной и связывание с байтовым потоком -
FileStream f=new FileStream("est.txt",
FileMode.Create, FileAccess.ReadWrite);
f.WriteByte( 100 ); //в начало файла записывается число 100
byte[] x=new byte[10];
for ( byte i=0; i<10; ++i)
{
x[i]=(byte)(10-i);
f.WriteByte(i); // записывается 10 чисел от 0 до 9
}
f.Write( x, 0, 5 ); //записывается 5 элементов массива
byte[] y=new byte[20];
f.Seek( 0, SeekOrigin.Begin ); //текущий указатель – на начало
f.Read( y, 0, 20 ); //чтение из файла в массив
foreach ( byte elem in y ) Console.Write( " " + elem );
Console.WriteLine();
f.Seek(5, SeekOrigin.Begin); //текущий указатель – на 5-ый элемент
int a = f.ReadByte(); //чтение 5-го элемента
Console.WriteLine( a );
a = f.ReadByte(); //чтение 6-го элемента
Console.WriteLine( a );
Console.WriteLine("Текущая позиция в потоке " + f.Position);
Console.ReadKey();
f.Close(); } }}
Результат работы программы: 100 0 1 2 3 4 5 6 7 8 9 10 9 8 7 6 0 0 0 0
4
5
Текущая позиция в потоке 7
Текстовые файлы
Символьные потоки - классы StreamWriter и StreamReader работают с Unicode-символами, следовательно, ими удобнее всего пользоваться для работы с файлами, предназначенными для восприятия человеком. Эти потоки являются наследниками классов TextWriter и TextReader соответственно. В таблицах 2.4 и 2.5 приведены основные элементы этих классов. Произвольный доступ для текстовых файлов не поддерживается.
Таблица 2.4 – Основные элементы класса TextWriter
Дата добавления: 2018-04-05; просмотров: 436; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!
