91
Жаңа консольдық қосымша құрайық. Оны Matem3 деп атайық. Тӛменде осы
қосымшаның листингісі кӛрсетілген (нәтиже —
сурет. 1.35
):
using System;
namespace Matem3
{
class matematika
{
public int a;
public void calculatesamochislo(int chislo)
{
Console.WriteLine ("Самочисло: " + a);
}
public void calculatecvadrat(int chislo)
{
int b = a*a;
Console.WriteLine ("\nКвадрат: " + b);
}
public void calculatecub(int chislo)
{
int c = a*a*a;
Console.WriteLine ("\nКуб: " + c);
}
}
class Class1
{
delegate void Mydelegate(int chislo);
[STAThread]
static void Main(string[] args)
{
matematika primer = new matematika();
Mydelegate del = new Mydelegate(primer.calculatesamochislo);
//Экземпляруделегата del добавляемметод calculatecvadrat
del+= new Mydelegate(primer.calculatecvadrat);
//Экземпляруделегата del добавляемметод calculatecvadrat
del+= new Mydelegate(primer.calculatecub);
primer.a = 2;
del(1);
//
//Развернутыйвариант
//
del=del + new Mydelegate(primer.calculatecvadrat);
//
del = del+ new Mydelegate(primer.calculatecub);
//
primer.a = 2;
//
del(1);
}
}
}
Листинг 1.5.
92
С# тілінде сіздер операторлардың қысқартылып жазылған түрлерімен кездестіңіздер,
x += y ӛрнегі x = x + y дегенді білдіреді. Делегаттар ы понимают с + и += , и синтаксисін
түсінеді, сондықтан түсініктемеге тәсілді қосудың толық варианты жазылады.
Делегаттартәсілді делегаттан шақыруды ӛшіріп тастайтын– и –= операциясын да түсінеді.
Сурет. 1.35. Matem3 қосымшасының нәтижесі
Практикалық жҧмыс №10. Windows қосымшаларындағы оқиғалар
Оқиғалар арқылы Windows бір заттардың істелінгені туралы хабар алады. Мысалы
қосыманың кнопкасын тышқан арқылы бассаңыз сол терезе туралы Windows хабар
алады. Оқиға моделі қазіргі замандағы программалаудың негізі болып отыр. Оқиға
ӛңдеуші С# тілінде делегат түрінде іске асырылады.
Рис. 1.38. Результат приложения ClasswithEvent
Практикалық жҧмыс№11. События в Windows-қосымшаларындағы оқиғалар.
Делегат логикасы мен оқиға синтаксистерімен танысқаннан кейін Windows-формалардың
оқиға моделін қарастырайық.
FirstForm қосымшасын қайта ашыңыз. Из окна Toolbox терезесінен формаға Button
басқару кнопкасын жылжытып апарыңыз. button1 кнопкасын екі рет басыңыз. Кодтан
WindowsFormDesignergeneratedcodeобластын табыңыз.
Таблица 1.3.
Консольное приложение
Event
Windows-приложение
FirstForm
using System;
using System;
using System.Drawing;
using System.Collections;
93
using
System.ComponentModel;
using
System.Windows.Forms;
using System.Data;
Практикалық жҧмыс № 12. "калькулятор" қосымшасын қҧру
Жаңа проект құрыңыз. (Windows Application) оны Calculator деп атаңыз. Мына
тӛмендегідей форма қасиеттерін орнатамыз.
Form1,
форма, свойство
Значение
Name
Calc
FormBorderS
tyle
Fixed3D
Icon
Путь E:\Program Files\Microsoft Visual Studio
.NET2003\Common7\Graphics\icons\Computer\KEYS01.ICO
MaximizeBo
x
False
Size
280;280
Text
Калькулятор 1.0
Қосымшаны іске қосамыз. Мынадай қатешығады —
"D:\Code\Glava1\Calculator\Form1.cs(75): The type or namespace name 'Form1' could not be
found (are you missing a using directive or an assembly reference?)"
Біз Name қасиетін ӛзгертеміз, авкодеметода Main тәсілінің кодында форманың ескі
аты қалып қойды,. Оны жаңаға өзгертеміз:
[STAThread]
static void Main()
{
Application.Run(new Calc());
}
Енді бәрі жұмыс істеп тұр. Дизайн режиміне қайта келеміз де, формада кнопкаларды
және TextBox(дисплей ролін атқарады)орналастырамыз (
сурет. 1.43
):
94
Сурет. 1.43. Расположение элементов управления в режиме дизайна
Для кнопок устанавливаем следующие свойства:
Эл
емент
Name
T
ext
but
ton1
btn1
1
but
ton2
btn2
2
but
ton3
btn3
3
but
ton4
btn4
4
but
ton5
btn5
5
but
ton6
btn6
6
but
ton7
btn7
7
but
ton8
btn8
8
but
ton9
btn9
9
but
ton10
btn10
0
but
ton11
btnChan
gesign
+
/–
but
ton12
btnpoint
,
but
ton13
btn_plus
+
but
ton14
btn_min
us
–
but
ton15
btn_umn
ojenie
*
but
ton16
btn_dele
nie
/
but
ton17
btn_sbro
s
C
but
ton18
btn_ravn
o
=
Установим свойство Size одной кнопки 40;40, а затем, выделив все остальные
кнопки, сделаем их одинакового размера — пункт меню Format/Make Same Size/Both.
Затем высоту кнопок btn_sbros и btn_ravno сделаем сдвоенной, как показано на рис.
рис.
1.43
.
Для текстового поля устанавливаем следующие свойства:
Достарыңызбен бөлісу: |