игра брюс 2048
Главная / Программирование / Создание Windows-приложений на основе Visual C# / Тест 5

Создание Windows-приложений на основе Visual C# - тест 5

Упражнение 1:
Номер 1
Выберите тип данных, не нуждающийся в конвертировании при прямой и обратной передаче из среды управляемого кода в среду неуправляемого кода:

Ответ:

 (1) System.Char 

 (2) System.Class 

 (3) System.Mdarray 

 (4) System.SByte 

 (5) System.String 


Номер 2
Выберите тип данных, нуждающийся в конвертировании при прямой и обратной передаче из среды управляемого кода в среду неуправляемого кода:

Ответ:

 (1) System.Int16 

 (2) System.String 

 (3) System.UInt16 

 (4) System.Int32 

 (5) System.UInt32 


Номер 3
Выберите тип данных, не нуждающийся в конвертировании при прямой и обратной передаче из среды управляемого кода в среду неуправляемого кода:

Ответ:

 (1) System.Array 

 (2) System.Class 

 (3) System.Boolean 

 (4) System.UintPtr 

 (5) System.String 


Упражнение 2:
Номер 1
Необязательный параметр атрибута DllImport, указывающий название функции. Выберите название параметра, подходящее под это определение:

Ответ:

 (1) NameFunction 

 (2) EntryPoint 

 (3) ExactSpelling 

 (4) PreserveSig 

 (5) FunctionDefinition 


Номер 2
Параметр атрибута DllImport, предотвращающий изменение параметра  EntryPoint  при изменении кодировки.  Выберите название параметра, подходящее под это определение:

Ответ:

 (1) NoChangeEPoint 

 (2) CallingConvention 

 (3) ExactSpelling 

 (4) SetLastError 

 (5) ExactEPoint 


Номер 3
Параметр атрибута DllImport, сохраняющий сигнатуру некоторых методов при переходе от среды управляемого кода к среде неуправляемого. Выберите название параметра, подходящее под это определение:

Ответ:

 (1) SaveSignature 

 (2) PreserveSig 

 (3) PreserveSignature 

 (4) NoChangeMethod 

 (5) ExactSpelling 


Упражнение 3:
Номер 1
Метод SomeMethod на языке С имеет следующий вид:
        BOOLEAN SomeMethod (EXTENDED_NAME_FORMAT NameFormat,  LPTSTR lpNameBuffer, ULONG nSize);
        

Выберите правильное преобразование этого метода на языке C#:


Ответ:

 (1) public static extern int SomeMethod (string nameFormat, StringBuilder userName, ref uint userNameSize) 

 (2) public static extern int SomeMethod (int nameFormat, StringBuilder userName, float userNameSize) 

 (3) public static extern int SomeMethod (int nameFormat, StringBuilder userName, ref uint userNameSize) 

 (4) public static extern float SomeMethod (int nameFormat, StringBuilder userName, ref uint userNameSize) 

 (5) public static void int SomeMethod (int nameFormat, StringBuilder userName, ref uint userNameSize) 


Номер 2
Метод SomeMethod на языке С имеет следующий вид:
     INT SomeMethod (HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType);
     

Выберите правильное преобразование этого метода на языке C#:


Ответ:

 (1) public static void SomeMethod (IntPtr handle, string text, string title, uint type); 

 (2) public static extern int SomeMethod (IntPtr handle, string text, string title, float type); 

 (3) public static extern int SomeMethod (Double handle, string text, string title, uint type); 

 (4) public static extern int SomeMethod (IntPtr handle, string text, string title, uint type); 

 (5) public static extern int SomeMethod (Parse handle, string text, string title, uint type); 


Номер 3
Метод SomeMethod на языке С имеет следующий вид:
        BOOL SomeMethod (HWND hwnd, DWORD dwTime, DWORD dwFlags)
        

Выберите правильное преобразование этого метода на языке C#:


Ответ:

 (1) public static void AnimateWindow(IntPtr hwnd,int dwTime,int dwFlags); 

 (2) public static extern bool AnimateWindow(IntPtr hwnd, string dwTime, string dwFlags); 

 (3) public static extern bool AnimateWindow(IntPtr hwnd,int dwTime,int dwFlags); 

 (4) public static void AnimateWindow(IntPtr hwnd, string dwTime, string dwFlags); 

 (5) public static void bool AnimateWindow(IntPtr hwnd, string dwTime, string dwFlags); 


Упражнение 4:
Номер 1
Вы разрабатываете приложение, на главной форме которого будет располагаться часы. При установке времени на них автоматически должно изменяться время  системных часов, выводимых на панель задач. Для этого вам требуется в своем коде подключить функцию WinAPI, использующую файл библиотеки kernel32.dll и имеющую следующий вид:
        BOOL SomeFunction(
  const SYSTEMTIME* lpSystemTime
)

Выберите название этой функции:


Ответ:

 (1) GetSystemTime 

 (2) SysTimeFunction 

 (3) GlobalTime 

 (4) SetSystemTime 

 (5) CurrentSysTime 


Номер 2
Вы разрабатываете Windows-приложение для отправки SMS. В окне редактора, где пользователь будет набирать текст, требуется в качестве курсора выводить маленькое изображение логотипа компании. Для этого вам нужно в своем коде подключить функцию WinAPI, использующую файл библиотеки user32.dll и имеющую следующий вид:
        BOOL SomeFunction (      

    HWND hWnd,
    HBITMAP hBitmap,
    int nWidth,
    int nHeight
)

Выберите название этой функции:


Ответ:

 (1) CreateCursor 

 (2) CreateCaret 

 (3) NewCursorAs 

 (4) ViewCaret 

 (5) ViewCursor 


Номер 3
Вы разрабатываете приложение для тестирования жестких дисков. Требуется выводить  данные о полном  и свободном объемах  одного или нескольких винчестеров на локальном компьютере. Размер каждого раздела жесткого диска предположительно будет более 10 Гб. Для этого вам нужно в своем коде подключить функцию WinAPI, использующую файл библиотеки Kernel32.dll и имеющую следующий вид:
        BOOL SomeFunction (
  LPCTSTR lpDirectoryName,
  PULARGE_INTEGER lpFreeBytesAvailable,
  PULARGE_INTEGER lpTotalNumberOfBytes,
  PULARGE_INTEGER lpTotalNumberOfFreeBytes
)

Выберите название этой функции:


Ответ:

 (1) GetDiskFreeSpaceEx 

 (2) GetDiskFreeSpace 

 (3) HardDiskTester 

 (4) HarDiskFreeSpace 

 (5) GetHarDiskFreeSpace 


Упражнение 5:
Номер 1
Вы разрабатываете Windows-приложение для отправки SMS. На форме располагаются текстовые поля txtMessage и lblOutput. Необходимо выводить количество символов в элемент lblOutpu при набирании пользователем текста сообщения. Выберите правильные действия для этого:

Ответ:

 (1) подключаем следующее пространство имен: using System.String;

Добавляем обработчик:

private void txtMessage _TextChanged(object sender, System.EventArgs e) { StringBuilder stringbuilder=new StringBuilder(txtMessage.Text.ToString()); lblOutput.Text = "Количество символов "+ stringbuilder.Length; } 

 (2) подключаем следующее пространство имен: using System.String;

Добавляем обработчик:

private void txtMessage _TextChanged(object sender, System.EventArgs e) { StringBuilder stringbuilder=new StringBuilder(); stringbuilder.Text = txtMessage.Text.ToString() lblOutput.Text = "Количество символов "+ stringbuilder.Length; }  

 (3) подключаем следующее пространство имен: using System.Text;

Добавляем обработчик:

private void txtMessage _TextChanged(object sender, System.EventArgs e) { StringBuilder stringbuilder=new StringBuilder(); stringbuilder.Text = txtMessage.Text.ToString() lblOutput.Text = "Количество символов "+ stringbuilder.Length; }  

 (4) подключаем следующее пространство имен: using System.Text;

Добавляем обработчик:

private void txtMessage _TextChanged(object sender, System.EventArgs e) { StringBuilder stringbuilder=new StringBuilder(txtMessage.Text.ToString()); lblOutput.Text = "Количество символов "+ stringbuilder.Length; }  

 (5) подключаем следующее пространство имен: using System.StringBuilder;

Добавляем обработчик:

private void txtMessage _TextChanged(object sender, System.EventArgs e) { StringBuilder stringbuilder=new StringBuilder(); stringbuilder.Text = txtMessage.Text.ToString() lblOutput.Text = "Количество символов "+ stringbuilder.Length; }  


Номер 2
Вы разрабатываете Windows-приложение для отправки SMS. На форме располагаются текстовые поля txtMessage, txtFind  и txtReplace. При нажатии кнопки btnReplace должен осуществляться поиск в тексте txtMessage фрагмента текста, введенного в поле txtFind,   и его замена фрагментом, веденном в поле   txtReplace. Все необходимые пространства имен подключены. Выберите правильный фрагмент кода:

Ответ:

 (1) private void btnReplace _Click(object sender, System.EventArgs e) { StringBuilder stringbuilder1 =new StringBuilder(txtMessage.Text.ToString()); StringBuilder stringbuilder2=new StringBuilder(txtFind.Text.ToString()); StringBuilder stringbuilder3=new StringBuilder(txtReplace.Text.ToString()); stringbuilder1.Replace(Convert.ToString(txtFind.Text), Convert.ToString(txtReplace.Text)); txtMessage.Text = Convert.ToString(stringbuilder1); } 

 (2) private void btnReplace _Click(object sender, System.EventArgs e) { StringBuilder stringbuilder1 =new StringBuilder(); stringbuilder1.Text = txtMessage.Text.ToString(); StringBuilder stringbuilder2=new StringBuilder(); stringbuilder2.Text = txtFind.Text.ToString(); StringBuilder stringbuilder3=new StringBuilder(); stringbuilder3.Text = txtReplace.Text.ToString(); stringbuilder1.Replace(Convert.ToString(txtFind.Text), Convert.ToString(txtReplace.Text)); txtMessage.Text = Convert.ToString(stringbuilder1); } 

 (3) private void btnReplace _Click(object sender, System.EventArgs e) { StringBuilder stringbuilder1 =new StringBuilder(); stringbuilder1.Text = txtMessage.Text.ToString(); StringBuilder stringbuilder2=new StringBuilder(); stringbuilder2.Text = txtFind.Text.ToString(); StringBuilder stringbuilder3=new StringBuilder(); stringbuilder3.Text = txtReplace.Text.ToString(); stringbuilder1.Replace(Convert.ToChar(txtFind.Text), Convert.ToChar(txtReplace.Text)); txtMessage.Text = Convert.ToString(stringbuilder1); } 

 (4) private void btnReplace _Click(object sender, System.EventArgs e) { StringBuilder stringbuilder1 =new StringBuilder(txtMessage.Text.ToString()); StringBuilder stringbuilder2=new StringBuilder(txtFind.Text.ToString()); StringBuilder stringbuilder3=new StringBuilder(txtReplace.Text.ToString()); stringbuilder1.Replace(Convert.ToChar(txtFind.Text), Convert.ToChar(txtReplace.Text)); txtMessage.Text = Convert.ToString(stringbuilder1); } 

 (5) private void btnReplace _Click(object sender, System.EventArgs e) { StringBuilder stringbuilder1 =new StringBuilder(); stringbuilder1.Text = txtMessage.Text.ToString(); StringBuilder stringbuilder2=new StringBuilder(); stringbuilder2.Text = txtFind.Text.ToString(); StringBuilder stringbuilder3=new StringBuilder(); stringbuilder3.Text = txtReplace.Text.ToString(); stringbuilder1.Replace(Convert.ToSingle(txtFind.Text), Convert.ToSingle(txtReplace.Text)); txtMessage.Text = Convert.ToString(stringbuilder1); } 


Номер 3
Вы разрабатываете Windows-приложение для отправки SMS. На форме располагается текстовое поле txtMessage и кнопка btnSend, по нажатию на которую происходит автоматическая вставка слова в начало сообщения "SMSCenter: " ,  отрезание длины сообщения до 255 символов (с учетом вставляемого слова) и его отправка. Выберите правильный фрагмент кода для получения этой функциональности:

Ответ:

 (1) private void btnSend _Click(object sender, System.EventArgs e) { StringBuilder stringbuilder =new StringBuilder(txtMessage.Text.ToString()); int length = stringbuilder.Length; if (length>255) { int difference = length - 244; stringbuilder.Remove(difference, 244); } stringbuilder.Insert("SMSCenter: ", 0); txtMessage.Text = Convert.ToString(stringbuilder); //Код для отправки сообщения } 

 (2) private void btnSend _Click(object sender, System.EventArgs e) { StringBuilder stringbuilder =new StringBuilder(); stringbuilder.Text = txtMessage.Text.ToString(); int length = stringbuilder.Length; if (length>255) { int difference = length - 244; stringbuilder.Remove(difference, 244); } stringbuilder.Insert("SMSCenter: ", 0); txtMessage.Text = Convert.ToString(stringbuilder); //Код для отправки сообщения } 

 (3) private void btnSend _Click(object sender, System.EventArgs e) { StringBuilder stringbuilder =new StringBuilder(txtMessage.Text.ToString()); int length = stringbuilder.Length; if (length>255) { int difference = length - 244; stringbuilder.Remove(244, difference); } stringbuilder.Insert(0, "SMSCenter: "); txtMessage.Text = Convert.ToString(stringbuilder); //Код для отправки сообщения } 

 (4) private void btnSend _Click(object sender, System.EventArgs e) { StringBuilder stringbuilder =new StringBuilder(); stringbuilder.Text = txtMessage.Text.ToString(); int length = stringbuilder.Length; if (length>255) { int difference = length - 244; stringbuilder.Remove(244, difference); } stringbuilder.Insert(0, "SMSCenter: "); txtMessage.Text = Convert.ToString(stringbuilder); //Код для отправки сообщения } 

 (5) private void btnSend _Click(object sender, System.EventArgs e) { StringBuilder stringbuilder =new StringBuilder(); stringbuilder.Text = txtMessage.Text.ToString(); int length = stringbuilder.Length; if (length>255) { int difference = length - 244; stringbuilder.Remove(244, difference); } stringbuilder.Add(0, "SMSCenter: "); txtMessage.Text = Convert.ToString(stringbuilder); //Код для отправки сообщения } 


Упражнение 6:
Номер 1
Вы разрабатываете приложение, в котором требуется проигрывать видео-файлы. Самый простой способ сделать это – внедрить  компонент Windows Media Player 9, входящий в состав операционной системы Windows XP:files
        

На форму добавлено главное меню, OpenFileDialog и сам компонент. В обработчике пункта меню "Открыть" открываемый файл начинается проигрываться:

private void mnuOpen_Click(object sender, System.EventArgs e) { if (openFileDialog1.ShowDialog()==DialogResult.OK) { КомпонентMediaPlayer.Open(openFileDialog1.FileName); } }

Выберите название добавленного компонента и его тип:


Ответ:

 (1) axMicrosoftWindowsMediaPlayer1, СOM компонент 

 (2) axWindowsMediaPlayer1, компонент .NET Framework 

 (3) axWindowsMediaPlayer1, СOM компонент 

 (4) axWindowsMediaPlayer1, компонент System 

 (5) axWindowsMediaPlayer1, компонент SystemClass 

 (6) axWindowsMediaPlayer1, СOM+ компонент 


Номер 2
Вы разрабатываете приложение, где требуется использовать календарь, вид которого отличен от стандартного элемента управления MonthCalendar:files
        

Выберите название компонента "календарь" и его тип:


Ответ:

 (1) axMicrosoftWindowsCalendar1, СOM компонент 

 (2) axWindowsCalendar1, компонент .NET Framework 

 (3) axWindowsCalendar1, компонент System 

 (4) axCalendar1, СOM компонент 

 (5) axWindowsCalendar1, компонент SystemClass 

 (6) axCalendar1, СOM+ компонент 


Номер 3
Вы разрабатываете приложение для тестирования производительности компьютера и в качестве ядра используете компонент приложения "Производительность":files
        

Это приложение входит в состав операционной системы Windows XP (Для его запуска перейдите в меню Пуск \Панель управления \ Администрирование\ Производительность). Выберите название добавленного компонента и его тип:


Ответ:

 (1) axMicrosoftWindowsSystemMonitor1, СOM компонент 

 (2) axWindowsSystemMonitor1, компонент .NET Framework 

 (3) axWindowsSystemMonitor1, компонент System 

 (4) axWindowsSystemMonitor1, компонент SystemClass 

 (5) axSystemMonitor1, СOM компонент 

 (6) axWindowsSystemMonitor1, СOM+ компонент 


Упражнение 7:
Номер 1
Параметр утилиты tlbimp.exe, создающий интерфейс без проверки безопасности в режиме Runtime. Выберите название параметра, подходящее под это определение:

Ответ:

 (1) verbose 

 (2) sysarray 

 (3) strictref 

 (4) unsafe 

 (5) nologo 


Номер 2
Параметр утилиты tlbimp.exe, указывающий номер версии создаваемой сборки. Выберите название параметра, подходящее под это определение:

Ответ:

 (1) asmversion:Version 

 (2) assemblyInfo:Version 

 (3) assInfo:Version 

 (4) assembly:Version 

 (5) assVersion:Info 


Номер 3
Параметр утилиты tlbimp.exe, создающий главную сборку взаимодействия. Выберите название параметра, подходящее под это определение:

Ответ:

 (1) mainassembly 

 (2) primaryasm 

 (3) mainasm 

 (4) primary 

 (5) primaryasm 


Упражнение 8:
Номер 1
Выберите правильное утверждение:

Ответ:

 (1) RCW – временная оболочка, создаваемая CLR для работы с COM-объектом. При каждом вызове объекта создается своя оболочка, по окончании работы программисту не нужно ее очищать 

 (2) RCW – временная оболочка, создаваемая CLR для работы с COM-объектом. Для работы с объектом создается единственная оболочка, по окончании работы требуется вызывать метод ClearMemory для ее очистки 

 (3) RCW – временная оболочка, создаваемая CLR для работы с COM-объектом. Для работы с объектом создается единственная оболочка, по окончании работы требуется вызывать метод ClearAll для ее очистки 

 (4) RCW – временная оболочка, создаваемая CLR для работы с COM-объектом. Для работы с объектом создается единственная оболочка, по окончании работы программисту не нужно очищать оболочку 

 (5) RCW – временная оболочка, создаваемая CLR для работы с COM-объектом. Для работы с объектом создается единственная оболочка, по окончании работы требуется вызывать метод DeleteTempObjects для ее очистки 


Номер 2
Выберите правильное утверждение:

Ответ:

 (1) функция WinAPI представляет собой пример управляемого кода, это модуль, который позволяет получить функциональность, используемую операционной системой 

 (2) функция WinAPI представляет собой пример неуправляемого кода, это модуль, который встроен в операционную систему, но практически ею не используемый 

 (3) функция WinAPI представляет собой пример управляемого кода, это модуль, входящий в состав операционной системы специально для разработок приложений, сама система их использует редко 

 (4) функция WinAPI представляет собой пример неуправляемого кода, это модуль, который позволяет получить функциональность, используемую операционной системой 

 (5) функция WinAPI представляет собой пример неуправляемого кода, это модуль, устанавливаемый вместе с операционной системой, но в состав ее не входящий 


Номер 3
Выберите правильное утверждение:

Ответ:

 (1) службы Platform Invoke распаковывают функции неуправляемого кода из библиотек динамической компоновки и эмулируют сборку мусора, дальнейшее взаимодействие с управляемым кодом производят сами функции 

 (2) службы Platform Invoke распаковывают функции неуправляемого кода из библиотек динамической компоновки и эмулируют сборку мусора, дальнейшее взаимодействие осуществляется инициирующим кодом 

 (3) службы Platform Invoke запускаются после взаимодействия неуправляемого кода с управляемым, основной их задачей является передача входящих аргументов функции в стек и эмуляция мусора 

 (4) службы Platform Invoke запускаются после взаимодействия неуправляемого кода с управляемым, они находят адрес функции в памяти, преобразуют входные параметры, эмулируют сборку мусора и передают управление неуправляемой функции в памяти 

 (5) службы Platform Invoke находят функции неуправляемого кода в библиотеках динамической компоновки, загружают их в оперативную память, находят адрес функции в памяти, преобразуют входные параметры, эмулируют сборку мусора и передают управление неуправляемой функции в памяти 


Упражнение 9:
Номер 1
Вы создали новое Windows-приложение, в котором предстоит использовать функцию WinAPI. Вызов функции должен осуществляться при закрытии формы. Выберите правильную схему подключения функции WinAPI:

Ответ:

 (1) подключаем пространство имен в классе формы: using System.Runtime.InteropServices;

Создаем класс для вызова функции WinAPI: public class WinAPIClass

{ [DllImport("ИмяфайлаБиблиотеки.dll")] public static extern bool SomeFunction (тип данных первыйпараметр, тип данных второйпараметр); }

Создаем обработчик события, в котором вызывается функция:

private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e) { WinAPIClass.SomeFunction (Значениепервогопараметра, Значениевторогопараметра); } 

 (2) подключаем пространство имен в классе формы: using System.Runtime.InteropServices;

Создаем класс для вызова функции WinAPI: public class WinAPIClass

{ [DllImport("ИмяфайлаБиблиотеки.dll")] public static extern bool SomeFunction (тип данных первыйпараметр, тип данных второйпараметр); }

Создаем обработчик события, в котором вызывается функция:

private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e) { WinAPIClass.SomeFunction (тип данных первыйпараметр, тип данных второйпараметр); }  

 (3) подключаем пространство имен в классе формы: using System.InteropServices;

Создаем класс для вызова функции WinAPI: public class WinAPIClass

{ [DllImport("ИмяфайлаБиблиотеки.dll")] public static extern bool SomeFunction (тип данных первыйпараметр, тип данных второйпараметр); }

Создаем обработчик события, в котором вызывается функция:

private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e) { WinAPIClass.SomeFunction (Значениепервогопараметра, Значениевторогопараметра); }  

 (4) подключаем пространство имен в классе формы: using System.Runtime.InteropServices;

Создаем класс для вызова функции WinAPI: public class WinAPIClass

{ [DllImport("ИмяфайлаБиблиотеки.dll")] public static extern bool SomeFunction (Значениепервогопараметра, Значениевторогопараметра); }

Создаем обработчик события, в котором вызывается функция:

private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e) { WinAPIClass.SomeFunction (тип данных первыйпараметр, тип данных второйпараметр); }  

 (5) подключаем пространство имен в классе формы: using System.InteropServices;

Создаем класс для вызова функции WinAPI: public class WinAPIClass

{ [DllImport("ИмяфайлаБиблиотеки.dll")] public static extern bool SomeFunction (тип данных первыйпараметр, тип данных второйпараметр); }

Создаем обработчик события, в котором вызывается функция:

private void Form1_Upload(object sender, System.ComponentModel.CancelEventArgs e) { WinAPIClass.SomeFunction (Значениепервогопараметра, Значениевторогопараметра); }  


Номер 2
Вы создали новое Windows-приложение, в котором предстоит использовать функцию WinAPI. Вызов функции должен осуществляться при установки галочки в элементе  управления checkBox1, добавленном на форму. Выберите правильную схему подключения функции WinAPI:

Ответ:

 (1) подключаем пространство имен в классе формы: using System.Runtime.InteropServices;

Создаем класс для вызова функции WinAPI: public class WinAPIClass

{ [DllImport("ИмяфайлаБиблиотеки.dll")] public static extern bool SomeFunction (тип данных первыйпараметр, тип данных второйпараметр); }

Создаем обработчик события, в котором вызывается функция:

private void checkBox1_CheckedChanged(object sender, System.EventArgs e) { WinAPIClass.SomeFunction (тип данных первыйпараметр, тип данных второйпараметр); }  

 (2) подключаем пространство имен в классе формы: using System.InteropServices;

Создаем класс для вызова функции WinAPI: public class WinAPIClass

{ [DllImport("ИмяфайлаБиблиотеки.dll")] public static extern bool SomeFunction (тип данных первыйпараметр, тип данных второйпараметр); }

Создаем обработчик события, в котором вызывается функция:

private void checkBox1_CheckedChanged(object sender, System.EventArgs e) { WinAPIClass.SomeFunction (Значениепервогопараметра, Значениевторогопараметра); }  

 (3) подключаем пространство имен в классе формы: using System.Runtime.InteropServices;

Создаем класс для вызова функции WinAPI: public class WinAPIClass

{ [DllImport("ИмяфайлаБиблиотеки.dll")] public static extern bool SomeFunction (тип данных первыйпараметр, тип данных второйпараметр); }

Создаем обработчик события, в котором вызывается функция:

private void checkBox1_CheckedChanged(object sender, System.EventArgs e) { WinAPIClass.SomeFunction (Значениепервогопараметра, Значениевторогопараметра); } 

 (4) подключаем пространство имен в классе формы: using System.Runtime.InteropServices;

Создаем класс для вызова функции WinAPI: public class WinAPIClass

{ [DllImport("ИмяфайлаБиблиотеки.dll")] public static extern bool SomeFunction (Значениепервогопараметра, Значениевторогопараметра); }

Создаем обработчик события, в котором вызывается функция:

private void checkBox1_CheckedChanged(object sender, System.EventArgs e) { WinAPIClass.SomeFunction (тип данных первыйпараметр, тип данных второйпараметр); }  

 (5) подключаем пространство имен в классе формы:using System.InteropServices;

Создаем класс для вызова функции WinAPI: public class WinAPIClass

{ [DllImport("ИмяфайлаБиблиотеки.dll")] public static extern bool SomeFunction (тип данных первыйпараметр, тип данных второйпараметр); }

Создаем обработчик события, в котором вызывается функция:

private void checkBox1_CheckedChanged(object sender, System.EventArgs e) { WinAPIClass.SomeFunction (Значениепервогопараметра, Значениевторогопараметра); }  


Номер 3
Вы создали новое Windows-приложение, в котором предстоит использовать функцию WinAPI. Вызов функции должен осуществляться при изменении размеров  формы. Выберите правильную схему подключения функции WinAPI:

Ответ:

 (1) подключаем пространство имен в классе формы: using System.Runtime.InteropServices;

Создаем класс для вызова функции WinAPI: public class WinAPIClass

{ [DllImport("ИмяфайлаБиблиотеки.dll")] public static extern bool SomeFunction (тип данных первыйпараметр, тип данных второйпараметр); }

Создаем обработчик события, в котором вызывается функция:

private void Form1_Resize(object sender, System.EventArgs e) { WinAPIClass.SomeFunction (тип данных первыйпараметр, тип данных второйпараметр); }  

 (2) подключаем пространство имен в классе формы: using System.InteropServices;

Создаем класс для вызова функции WinAPI: public class WinAPIClass

{ [DllImport("ИмяфайлаБиблиотеки.dll")] public static extern bool SomeFunction (тип данных первыйпараметр, тип данных второйпараметр); }

Создаем обработчик события, в котором вызывается функция:

private void Form1_Resize(object sender, System.EventArgs e) { WinAPIClass.SomeFunction (Значениепервогопараметра, Значениевторогопараметра); }  

 (3) подключаем пространство имен в классе формы: using System.Runtime.InteropServices;

Создаем класс для вызова функции WinAPI: public class WinAPIClass

{ [DllImport("ИмяфайлаБиблиотеки.dll")] public static extern bool SomeFunction (тип данных первыйпараметр, тип данных второйпараметр); }

Создаем обработчик события, в котором вызывается функция:

private void Form1_Resize(object sender, System.EventArgs e) { WinAPIClass.SomeFunction (Значениепервогопараметра, Значениевторогопараметра); }  

 (4) подключаем пространство имен в классе формы: using System.Runtime.InteropServices;

Создаем класс для вызова функции WinAPI: public class WinAPIClass

{ [DllImport("ИмяфайлаБиблиотеки.dll")] public static extern bool SomeFunction (Значениепервогопараметра, Значениевторогопараметра); }

Создаем обработчик события, в котором вызывается функция:

private void Form1_Resize(object sender, System.EventArgs e) { WinAPIClass.SomeFunction (тип данных первыйпараметр, тип данных второйпараметр); }  

 (5) подключаем пространство имен в классе формы: using System.InteropServices;

Создаем класс для вызова функции WinAPI: public class WinAPIClass

{ [DllImport("ИмяфайлаБиблиотеки.dll")] public static extern bool SomeFunction (тип данных первыйпараметр, тип данных второйпараметр); }

Создаем обработчик события, в котором вызывается функция:

private void Form1_Resize(object sender, System.EventArgs e) { WinAPIClass.SomeFunction (Значениепервогопараметра, Значениевторогопараметра); }  


Упражнение 10:
Номер 1
Вы создаете Windows-приложение, главная форма которого должна появляться при загрузке с анимацией следующим образом: files
        

Для реализации этого вы использовали функцию WinAPI AnimatedWindow, определенную в классе WinAPIClass:

[DllImportAttribute("user32.dll",EntryPoint="AnimateWindow",SetLastError=true)] public static extern bool AnimateWindow(IntPtr hwnd,int dwTime,int dwFlags);

Для получения данного эффекта вы применили следующие флаги:

private void Form1_Load(object sender, System.EventArgs e) { WinAPIClass.AnimateWindow(this, 3000, WinAPIClass.AnimateWindowFlags.AW_HOR_POSITIVE|WinAPIClass.AnimateWindowFlags.AW_VER_POSITIVE); }

Выберите пару флагов, которая может дать комбинированный эффект:


Ответ:

 (1) AW_ACTIVATE — AW_HIDE 

 (2) AW_CENTER — AW_HIDE 

 (3) AW_HOR_POSITIVE — AW_CENTER 

 (4) AW_HOR_POSITIVE — AW_VER_NEGATIVE 

 (5) AW_BLEND — AW_HOR_NEGATIVE 


Номер 2
Вы создаете Windows-приложение, главная форма которого должна появляться при загрузке с анимацией следующим образом:files
        

Для реализации этого вы использовали функцию WinAPI AnimatedWindow, определенную в классе WinAPIClass:

[DllImportAttribute("user32.dll",EntryPoint="AnimateWindow",SetLastError=true)] public static extern bool AnimateWindow(IntPtr hwnd,int dwTime,int dwFlags);

Для получения данного эффекта вы применили следующие флаги:

private void Form1_Load(object sender, System.EventArgs e) { WinAPIClass.AnimateWindow(this, 3000, WinAPIClass.AnimateWindowFlags.AW_VER_NEGATIVE); }

Выберите пару флагов, которая может дать комбинированный эффект:


Ответ:

 (1) AW_ACTIVATE — AW_HIDE 

 (2) AW_HOR_POSITIVE — AW_CENTER 

 (3) AW_VER_POSITIVE — AW_CENTER 

 (4) AW_BLEND — AW_HOR_NEGATIVE 

 (5) AW_HOR_ NEGATIVE — AW_VER_ POSITIVE 


Номер 3
Вы создаете Windows-приложение, главная форма которого должна появляться при загрузке с анимацией следующим образом:files
        

Для реализации этого вы использовали функцию WinAPI AnimatedWindow, определенную в классе WinAPIClass:

[DllImportAttribute("user32.dll",EntryPoint="AnimateWindow",SetLastError=true)] public static extern bool AnimateWindow(IntPtr hwnd,int dwTime,int dwFlags);

Для получения данного эффекта вы применили следующие флаги:

private void Form1_Load(object sender, System.EventArgs e) { WinAPIClass.AnimateWindow(this, 3000, WinAPIClass.AnimateWindowFlags.AW_HOR_POSITIVE|WinAPIClass.AnimateWindowFlags.AW_VER_POSITIVE); }

Выберите пару флагов, которая даст точно такой же эффект:


Ответ:

 (1) AW_ACTIVATE — AW_CENTER 

 (2) AW_HOR_NEGATIVE — AW_HOR_NEGATIVE 

 (3) AW_VER_POSITIVE — AW_VER_POSITIVE 

 (4) AW_HOR_POSITIVE — AW_CENTER 

 (5) AW_VER_NEGATIVE — AW_VER_NEGATIVE  




Главная / Программирование / Создание Windows-приложений на основе Visual C# / Тест 5