Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Топ:
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Интересное:
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Дисциплины:
2017-05-23 | 241 |
5.00
из
|
Заказать работу |
|
|
Листинг 8.1. Код для рисования горизонтального текста.
private void Form1_Paint(object sender, PaintEventArgs e)
{
//Объявляем переменную myString и присваиваем значение:
string myString = "Visual Studio";
//Объявляем объект myFont и создаем экземпляр объекта:
Font myFont = new Font("Arial", 30);
//Объявляем объект myBrush и создаем экземпляр объекта:
SolidBrush myBrush = new SolidBrush(Color.Black);
//Задаем координаты начала текста:
float x = 5.0f;
float y = 50.0f;
//Рисуем горизонтальный текст кистью myBrush:
e.Graphics.DrawString(myString, myFont, myBrush, x, y);
//Высвобождаем память, выделенную объектам:
myFont.Dispose();
myBrush.Dispose();
}
Листинг 8.2. Строки для рисования вертикального текста.
//Объявляем объект myFormat и создаем экземпляр объекта:
StringFormat myFormat = new StringFormat(
StringFormatFlags.DirectionVertical);
//Рисуем вертикальный текст кистью myBrush:
e.Graphics.DrawString(myString, myFont, myBrush,
x, y, myFormat);
Листинг 8.3. Считывание текстового файла.
System.IO.StreamReader myPrintFile;
Font myPrintFont;
private void button1_Click(object sender, EventArgs e)
{
string myPrintPath = Environment.GetFolderPath(
Environment.SpecialFolder.Desktop);
myPrintFile =
new System.IO.StreamReader(myPrintPath +
@"\myText.txt");
myPrintFont = new Font("Times New Roman", 12);
printDocument1.Print();
myPrintFile.Close();
}
Дважды щелкаем по значку для компонента PrintDocument (ниже формы в режиме проектирования). Открывается файл Form1.cs с шаблоном, который после записи кода принимает следующий вид.
Листинг 8.4. Печать текстового файла.
private void printDocument1_PrintPage(object sender,
System.Drawing.Printing.PrintPageEventArgs e)
{
float yPos = 0f;
int counter = 0;
float leftMargin = e.MarginBounds.Left;
float topMargin = e.MarginBounds.Top;
string line = null;
float linesPerPage = e.MarginBounds.Height /
myPrintFont.GetHeight(e.Graphics);
while (counter < linesPerPage)
{
line = myPrintFile.ReadLine();
if (line == null)
{
break;
}
yPos = topMargin + counter *
myPrintFont.GetHeight(e.Graphics);
e.Graphics.DrawString(line, myPrintFont,
Brushes.Black, leftMargin, yPos,
new StringFormat());
counter++;
}
if (line!= null)
{
e.HasMorePages = true;
|
}
}
Проверяем в действии созданную нами программу для печати на принтере текстового файла. Строим и запускаем программу: Build, Build Solution; Debug, Start Without Debugging. Мы увидим форму Form1 в режиме выполнения. Щелкаем кнопку Print. Принтер печатает заданный текстовый файл. По этой методике мы можем распечатывать из Visual Studio различные текстовые файлы с различным расширением.
Мы закончили часть книги с общими методиками проектирования различных изображений и методиками печати изображений и текстовых файлов на принтере.
Часть III. Методология вычислений на основе Visual C# с использованием эффектов анимации
Глава 9. Методика создания вычислительной системы
Листинг 9.1. Код для мигания названия переключателя.
//Объявляем булеву переменную myText со значением false:
bool myText = false;
private void timer1_Tick(object sender, EventArgs e)
{
//Вводим анимацию:
if (myText == false)
{
//Выводим название переключателя:
this.radioButton3.Text = "&3. Calculator";
//Изменяем значение myText на противоположное:
myText = true;
}
else
{
//Удаляем название переключателя:
this.radioButton3.Text = "";
//Изменяем значение myText на противоположное:
myText = false;
}
}
В этом коде в строке (radioButton3->Text = "";) между кавычками мы можем записать другой текст, который будет чередоваться с первым названием.
Аналогично можно также дописать код, чтобы сделать анимационными сразу несколько переключателей. Задавая в панели Properties с заголовком Timer1 различные значения свойству Interval (а выше мы задали 1000 миллисекунд или 1 секунду), можно изменять частоту мигания, чтобы это мигание было, например, приятным для наших глаз. Методика приостановки и возобновления анимации после щелчков по кнопке или по самой формы уже была приведена выше.
|
|
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!