В окне Solution Explorer щелкните правой кнопкой мыши на узле UserControl1 и удалите его из проекта.
4. Щелкните правой кнопкой мыши в окне Solution Explorer на названии библиотеки и выберите команду Add-> Add Inherited Control. Выберите шаблон Custom Control и присвойте файлу имя, например, WindowsControlLibrary2.cs
5. Создайте, например, следующий код :
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;
namespace WindowsControlLibrary2
{
/// <summary>
/// Summary description for CustomCTRL1.
/// </summary>
public class CustomCTRL1 : System.Windows.Forms.Control
{
private string m_mes;
public string Message
{
get
{
return m_mes;}
set
{
m_mes=value;
}
}
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public CustomCTRL1()
{
// This call is required by the Windows.Forms Form Designer.
InitializeComponent();
ResizeRedraw =true;
m_mes="INITIALLY";
// TODO: Add any initialization after the InitComponent call
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if( components != null )
components.Dispose();
}
base.Dispose( disposing );
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
}
#endregion
protected override void OnPaint(PaintEventArgs pe)
{
// TODO: Add custom paint code here
// Calling the base class OnPaint
SolidBrush b= new SolidBrush (Color.SteelBlue);
pe.Graphics.FillEllipse(b,0,0,50,50);
base.OnPaint(pe);
}
}
}
Прорисовку эллипса мы поместили в обработчик события OnPaint:
protected override void OnPaint(PaintEventArgs pe)
{
// TODO: Add custom paint code here
// Calling the base class OnPaint
SolidBrush b= new SolidBrush (Color.SteelBlue);
pe.Graphics.FillEllipse(b,0,0,50,50);
base.OnPaint(pe);
}
Объявление редактируемого свойства представлено следующим блоком:
private string m_mes;
public string Message
{
get
{
return m_mes;}
set
{
m_mes=value;
}
}
Теперь достаточно просто скомпилировать проект. При этом создается файл -dll, который Вам нужно установить на палитру элементов так же как и ранее созданный компонент на основе визуальных классов.
После этого можно работать с данным элементом, например, как с кнопкой.
УКАЗАНИЯ ПО ВЫБОРУ ВАРИАНТА
Номер варианта определяется так: номер дня вашего рождения делим на 7 и находим остаток. Это и есть номер варианта. Если он получится нулевым, то берем задание номер 7.
ВАРИАНТЫ ЗАДАНИЙ.
Вариант 1. Создайте собственный невизуальный элемент, который имеет два метода: один используется для получения головной части строки, второй - хвостовой. Например, первый метод объявлен как
String Head(String str, String mask)
Этот метод получает исходную строку, например" Hello, friends" и строку-разделитель ",". Данный метод отыскивает в строке "Hello,friends" первое вхождение строки-разделителя и возвращает часть исходной строки, стоящую до разделителя. Если же разделитель не встретится, то возвращается вся исходная строка.
Метод, возвращающий хвостовую часть, отличается от описанного только тем, что возвращает часть строки, стоящую после разделителя.
Для выполнения задания Вам потребуются методы для работы со строками:
public int indexOf(String s) - возвращает номер позиции, где встречается первое вхождение строки s, например
String s1="Hello, Friends";
int i =s1.indexOf(",");
public String Substring(int i1,int2) - выделяет из строки подстроку в диапазоне позици1 от i1 до i1+i2.
Вариант 2.
Создайте компонент для работы с файлами через диалоговое окно. Этот компонент должен позволять прочитать файл из директория и открыть его.
Вариант 3.
Создайте компонент для построения графика согласно заданному массиву точек (задаются координаты точек на плоскости). М ассив вводить через матрицу Grid.
Вариант 4.
Создайте компонент, который закрашивает тект в текстовом окне в разные цвета по выбору пользователя.
Вариант 5.
Создайте компонент, представляющий собой калькулятор.
.
Вариант 6.
Создайте компонент, который открывает в окне броузера Интернет Explorer документы HTML.
Вариант 7.
Создайте компонент, который шифрует текст, набираемый в текстовом поле и записывает его в файл на диск.
КОНТРОЛЬНЫЕ ВОПРОСЫ ПО КУРСУ
1. Понятие сетевого протокола. Протокол ТСР.
2. Передача на основе протокола HTTP.
3. Протокол UDP.
4. Взаимодействие через сокеты.
5. Передача файлов через сеть.
6. Потоковые серверные и клиентсткие приложения.
7. Почтовый протокол SMTP.
8. Почтовый протоколо POP3.
9. Работа с документами XML.
10.Шифрование и дешифрование файлов.
11. Архивирование и деархивирование файлов.
12. Структура ASP.NET приложения.
13. Технология создания ASP.NET приложений
14. Доступ к элементам клиентской формы.
15. Классы HttpRequest, HttpResponse, HttpContext.
16. Заголовки сообщений.
17. Сервер IIS его назначение и конфигурирование.
18. Элементы упоравления AJAX в ASP.NET
19. Технология создания и использования WEB-сервисов
20. Конфигурационные файлы для WEB-приложений
21. Развертывание WEB-сервисов.
22. Технология WPF
23. Язык XAML в WPF.
24. Работа с документами EXCEL в NET.
25. Работа с документами WORD в NET.
26. Технология WCF.
27. Cоздание бизнес-приложений
28. Работа с базами данных в WEB.
В начало