Программирование >>  Автоматически обновляемые приложения 

1 ... 30 31 32 [ 33 ] 34 35 36 ... 170


\ Листинг 5-2.. Поддержка частичных классов

partial class Forml {

и так далее

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

Еще один вопрос, возникающий у программистов- куда подевалась точка входа в приложение, то есть метод Main? Поскольку статический метод Main не относится ни к какой форме, то разработчики Microsoft перенесли этот метод в отдельный файл Program.cs (листинг 5.3).

\ Листинг 5.3. Код для файла Program.cs

using Systems-using System.Collections.Generic-using System.ComponentModel; using System.Data; using System. Drawings-using Systems-using System.Collections.Generic-using System.Windows.Fonns;

namespace WindowsApplicationl {

static class Program {

/ <summary>

/ The main entry point for the application.

/ </summary>

[STAThread]

static void Main()

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false) ; Application.Run(new Forml());



Экран

Как определить разрешение экрана

Для определения размеров экрана воспользуйтесь свойством

PrimaryScreen.Bounds КЛаССа Screen ИЗ пространства ИМен System.windows.FormsScreen, каК ПОКазано ВЛИСТИНГе 5.4.

; Листинг 5.4 Определение размеров экрана

private void butScreenRes Click(object sender, EventArgs e) {

Определяем размеры экрана

textBoxl.Text = Screen.PrimaryScreen.Bounds.Width.ToString() + x + Screen.PrimaryScreen.Bounds.Height.ToString0;

Как определить рабочую область экрана без панели задач?

Иногда требуется узнать размеры не всего экрана, а только его рабочей части, в которую не входит панель задач, а также другие экранные панели (например, существовал пакет Microsoft Office, который использовал собственную панель). В этом случае вам поможет свойство screen. GetWorkingArea,

способное определить рабочую область экрана без панели задач. Как его использовать, показано в листинге 5.5.

Листинг 5.5. Определение рабочей области экрана

private void butWorkArea Click(object sender, EventArgs e) {

Определяем рабочую область экрана

textBoxl.Text = Screen.GetWorkingArea(this).Width.ToString() + x + Screen.GetWorkingArea(this).Height.ToString();

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



Как изменить разрешение экрана программным путем

На данный момент .NET Framework не имеет встроенных методов для изменения разрешения экрана. Поэтому нам придется использовать две функции Windows API: EnumDisplaySettings И ChangeDisplaySetting. Описание ЭТИХ функций есть в справочнике по функциям API на прилагаемом к книге компакт-диске, поэтому ограничимся только кодом программы, приведенным в листинге 5.6.

i Листинг! 1е[Пр экрана

using System.Runtime.InteropServices; [Dlllmport( user32.dll ) ]

public static extern int EnumDisplaySettings(

string deviceName, int modeNum, ref DEVMODE devMode);

[Dlllmport( user32.dll )]

public static extern int ChangeDisplaySettings( ref DEVMODE devMode, int flags);

[StructLayout(LayoutKind.Sequential)] public struct DEVMODE {

[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32) public string dmDeviceName; public short dmSpecVersion; public short dmDriverVersion; public short dmSize; public short dmDriverExtra; public int dmFields;

public short dmOrientation;

public short dmPaperSize;

public short dmPaperLength;

public short dmPaperWidth;

Примечание

Примеры находятся в папке AboutScreen на прилагаемом диске.



1 ... 30 31 32 [ 33 ] 34 35 36 ... 170

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика