ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#. Windows-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Лабораторная Ρ€Π°Π±ΠΎΡ‚Π°ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π—Π°Ρ‚Π΅ΠΌ, для удобства ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π° (Π½Π΅ Ρ‚Скст!) Textbox ΠΈ Button. ΠŸΠ΅Ρ€Π²ΠΎΠΌΡƒ Textbox присваиваСм имя «Π», Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ — «Π’», Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌΡƒ — «Π‘», Π° Button — «Calculate». ВсС это дСлаСтся, Ссли Π’Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ Π·Π°Π±Ρ‹Π»ΠΈ, Π² ΠΏΠ°Π½Π΅Π»ΠΈ свойств (Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈ этом Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ элСмСнт!). Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ лишь ΠΎΠ΄Π½ΠΎΠ³ΠΎ события — Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ всСми пСрСчислСнными Π²Ρ‹ΡˆΠ΅ способами ΠΈΠ»ΠΈ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#. Windows-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Лабораторная Ρ€Π°Π±ΠΎΡ‚Π°

ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#. Windows? ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π›ΡŽΠ±ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ прилоТСния для Windows, прСдставляСт собой Ρ„ΠΎΡ€ΠΌΡƒ, ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½Π½ΡƒΡŽ ΠΎΡ‚ ΠΊΠ»Π°ΡΡΠ° System.Windows.Forms.Form.

ΠžΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ — ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Windows Application. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ создаСтся ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Console Appliation. ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°ΠΌΠΈ появится пустая ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ ΠΎΠΊΠ½Π° прилоТСния — Ρ„ΠΎΡ€ΠΌΠ°. Π Π°Π·ΠΌΠ΅Ρ€, мСстополоТСниС, Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°, имя Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ свойства Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΊΠ½Π° свойств — Properties (ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ свойств Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта ΠΈ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΠΉ, связанных с Π½ΠΈΠΌ).

ПанСль Properties содСрТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ свойств:

Accessibility? Π΄ΠΎΡΡ‚ΠΈΠΆΠΈΠΌΠΎΡΡ‚ΡŒ

Appearance? Π²ΠΈΠ΄

Behavior? ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅

Configurations? ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

Data? Π΄Π°Π½Π½Ρ‹Π΅

Design? ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

Focus? Ρ†Π΅Π½Ρ‚Ρ€

Layout? Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅

Window style? ΡΡ‚ΠΈΠ»ΡŒ ΠΎΠΊΠ½Π° Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π°Π·Π΄Π΅Π» свойств Accessibility ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ:

Β· Ρ†Π²Π΅Ρ‚ повСрхности — BackColor (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ Ρ†Π²Π΅Ρ‚Π° Π±ΡƒΠ΄ΡƒΡ‚ всС элСмСнты управлСния);

Β· Ρ„ΠΎΠ½ΠΎΠ²ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ? BackgroundImage,

Β· Π²ΠΈΠ΄ курсора? Cursor,

Β· Ρ†Π²Π΅Ρ‚ ΡˆΡ€ΠΈΡ„Ρ‚Π°? ForeColor,

Β· ΡΡ‚ΠΈΠ»ΡŒ ΠΎΠΊΠ½Π°? FormBorderStyle,

Β· тСкст Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Ρ„ΠΎΡ€ΠΌΡ‹? Text ,

Β· мСстополоТСниС тСкста Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Ρ„ΠΎΡ€ΠΌΡ‹? RightToLeft

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π°Π·Π΄Π΅Π» свойств Layout ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ:

Β· Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΊΠ½Π°? Size

Β· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ? StartPosition,

Β· ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π° Ρ„ΠΎΡ€ΠΌΡ‹? Location (Π°ΠΊΡ‚ΡƒΠ°Π»Π΅Π½, Ссли StartPosition = Manual),

Β· Π²ΠΈΠ΄ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ отобраТСния Ρ„ΠΎΡ€ΠΌΡ‹ (ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅, Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ максимизированноС)? WindowState,

Β· Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„ΠΎΡ€ΠΌΡ‹ Π² ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ состоянии? MaxsimumSize,

Β· Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„ΠΎΡ€ΠΌΡ‹ Π² ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ состоянии? MinimumSize,

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π°Π·Π΄Π΅Π» свойств Window style ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ:

Β· Π²ΠΈΠ΄ ΠΈΠΊΠΎΠ½ΠΊΠΈ? Icon

Β· Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ максимизации? MaximizeBox

Β· Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ? MinimizeBox

ΠΈ Ρ‚.Π΄.

Π›Π΅Π³ΠΊΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Π½Π΅Π»ΠΈ свойства (Properties), Π½ΠΎ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΡ‹ΡˆΠΈ, ΠΏΡ€ΠΈ этом Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ (Size) Π±ΡƒΠ΄ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ автоматичСски.

ΠŸΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ с ΡΡ‚ΠΈΠΌΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ свойствами, посмотритС измСнСния Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅, связанныС с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ свойств.

Π’Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠ°Π½Π΅Π»ΠΈ:

Β· Server Explorer (ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Π‘Π”),

Β· Solution Explorer (ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Ρ„Π°ΠΉΠ»ΠΎΠ², пространств ΠΈΠΌΠ΅Π½ ΠΈ Ρ‚. ΠΏ.),

Β· Dynamic Help (ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ справочной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ),

Β· Toolbox (Π½Π° ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ элСмСнты управлСния) ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ (Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π½Π°ΡΡ‚Ρ€ΠΎΠ΅ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ этих ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ!). ВозмоТности, связанныС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ панСлями, Ρ‚Π°ΠΊ ΠΆΠ΅ вСсьма интСрСсны, Π½ΠΎ ΠΈΡ… Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΠ΅ Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ†Π΅Π»ΠΈ Π΄Π°Π½Π½ΠΎΠΉ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡƒΠ½ΠΊΡ‚ мСню «View» .

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ усвоили свойства (Properties), связанныС с Ρ„ΠΎΡ€ΠΌΠΎΠΉ, ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ события. На Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ свойств Π΅ΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠ° с ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ «ΠΌΠΎΠ»Π½ΠΈΡ». Π©Π΅Π»ΠΊΠ½Π΅ΠΌ Π½Π° Π½Π΅ΠΉ. ΠŸΡ€ΠΈ этом отобразятся Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ события, связанныС:

Β· с ΠΌΡ‹ΡˆΡŒΡŽ (Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅, Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… направлСниях, Π²Ρ…ΠΎΠ΄ ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ области, наТатиями клавиши ΠΌΡ‹ΡˆΠΈ),

Β· с Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ клавиши ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹,

Β· с Ρ€ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ,

Β· с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ стиля,

Β· с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΎΠΊΠ½Π°, ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ с Ρ‚Π΅ΠΌΠΈ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌΠΈ событиями ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ источники с Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΉ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°).

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ΅ событиС достаточно лишь Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ Π½Π° Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ автоматичСски создаст имя ΠΈ Ρ‚Π΅Π»ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ событиС. Π’Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ввСсти ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈ ΡΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ фокус ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ события — Ρ‚Π΅Π»ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° создастся автоматичСски с Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ! БущСствуСт Π΅Ρ‰Π΅ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ способ: сначала создаСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ событиС, Π° Π·Π°Ρ‚Π΅ΠΌ выбираСтся Π² Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ спискС! Π’ Ρ‚Π΅Π»ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ всС, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ события.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ всС это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, создадим ΠΏΡ€ΠΎΡΡ‚Π΅Π½ΡŒΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅? ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ для слоТСния Π΄Π²ΡƒΡ… чисСл.

Для этого, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, удаляСм всС «Π½Π°Π±Ρ€ΠΎΡΠ°Π½Π½Ρ‹Π΅» Π½Π° ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ элСмСнты управлСния, ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ? Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ пустой.

ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ windows application properties ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, «Π²Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅ΠΌ» (пСрСтаскиваСм) ΠΈΠ· Toolbox Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ Π΄Π²Π° Textbox, ΠΏΡΡ‚ΡŒ Label ΠΈ ΠΎΠ΄Π½Ρƒ Button. ИзмСнив ΠΈΠΌΠ΅Π½Π° Label Π½Π° — «A», «B», «+» ," =" ΠΈ «Π‘ΡƒΠΌΠΌΠ°» добиваСмся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это выглядСло ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΊΠ°ΠΊ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅.

Π—Π°Ρ‚Π΅ΠΌ, для удобства ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π° (Π½Π΅ Ρ‚Скст!) Textbox ΠΈ Button. ΠŸΠ΅Ρ€Π²ΠΎΠΌΡƒ Textbox присваиваСм имя «Π», Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ — «Π’», Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌΡƒ — «Π‘», Π° Button — «Calculate». ВсС это дСлаСтся, Ссли Π’Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ Π·Π°Π±Ρ‹Π»ΠΈ, Π² ΠΏΠ°Π½Π΅Π»ΠΈ свойств (Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈ этом Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ элСмСнт!). Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ лишь ΠΎΠ΄Π½ΠΎΠ³ΠΎ события — Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ всСми пСрСчислСнными Π²Ρ‹ΡˆΠ΅ способами ΠΈΠ»ΠΈ просто Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅. И ΡΡ€Π°Π·Ρƒ ΠΆΠ΅ автоматичСски появляСтся ΠΊΠΎΠ΄ прилоТСния с Ρ‚Π΅Π»ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ событиС наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ.

ПояснСниС. ΠŸΡ€ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ ΠΏΠΎ Π»ΡŽΠ±ΠΎΠΌΡƒ элСмСнту управлСния автоматичСски создаСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ события, Π½ΠΎ (!!!) создаСтся всСгда, Ρ‚ΠΎ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Π° для Π΄Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта управлСния. Для ΠΊΠ½ΠΎΠΏΠΊΠΈ — Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ, для Ρ„ΠΎΡ€ΠΌΡ‹ — Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ Ρ‚. ΠΏ.

Π’ Ρ‚Π΅Π»Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

private void Calculate_Click (object sender, System. EventArgs e)

{

double a, b;

try/*ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, здСсь выдСляСтся Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (ошибки)*/

{

a=Convert.ToDouble (A.Text);/*Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅ΠΌ тСкст (A.Text),

Π·Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π³ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ double*/

b=Convert.ToDouble (B.Text);/*Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅ΠΌ тСкст (B.Text),

Π·Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π³ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ double*/

C.Text=Convert.ToString (a+b);/*ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ тСксту Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° (Π‘.Text) ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π² ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ сумму чисСл (a+b)ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΈΠ· Π΄Π²ΡƒΡ… Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ²*/

}

catch//ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ — ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка

{

MessageBox.Show («ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Π²ΠΎΠ΄Π° чисСл!»);

}

}

Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Если всС-Ρ‚Π°ΠΊΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, всС Π»ΠΈ Π²Ρ‹ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ! Π‘Π²Π΅Ρ€Ρ‚ΠΈΡΡŒ с ΠΏΠΎΠ»Π½Ρ‹ΠΌ листингом прилоТСния.

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π°ΡˆΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ событиС наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ.

Π’ Ρ‚Π΅Π»ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ этого события ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ (ΠΏΡ€ΠΈ этом ΡƒΠ²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ повСрхности Ρ„ΠΎΡ€ΠΌΡ‹, ΠΈΠ½Π°Ρ‡Π΅, ΠΏΡ€ΠΈ запускС прилоТСния Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅!):

private void Form1_MouseDown (object sender, System.Windows.Forms.MouseEventArgs e)

{

Pen p;//ОбъявляСм ΠΏΠ΅Ρ€ΠΎ

Graphics g=CreateGraphics ();

/*Π­Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ выводился рисунок */

Color clr = new Color ();/* создаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Color для хранСния Ρ†Π²Π΅Ρ‚Π°*/

float R2, r2,k=1,

R=200;//ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ радиус ΡˆΠ°Ρ€Π°

int x, y;

int red=20,gre=250,blu=150;

/* Π—Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ Ρ†Π²Π΅Ρ‚ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ RGB*/

clr=Color.FromArgb ((int)(k*red),(int)(k*gre),(int)(k*blu));

clr=Color.FromArgb ((int)200,(int)0,(int)0);

p=new Pen (clr);//Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ΅Ρ€ΠΎ

g.DrawRectangle (p, 30,180,100,20);//РисуСм ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ

p=System.Drawing.Pens.Fuchsia;/*Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Ρ†Π²Π΅Ρ‚ фуксин ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ†Π²Π΅Ρ‚ΠΎΠ²*/

g.DrawLine (p, 30,254,68,275);//РисуСм ΠΏΡ€ΡΠΌΡƒΡŽ линию

R2=R*R;

/*Π—Π΄Π΅ΡΡŒ рисуСм ΡˆΠ°Ρ€ΠΈΠΊ окруТностями

* увСличивая Π΅Π³ΠΎ радиус ΠΈ ΠΌΠ΅Π½ΡΡ Ρ†Π²Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ окруТности*/

for (y=0;y<=R;y++)

for (x=0;x<=y;x++)

{

r2=(float)2*x*x;

if (r2>R2) break;

k=1-r2/R2;

clr=Color.FromArgb ((int)(k*red),(int)(k*gre),(int)(k*blu));

p=new Pen (clr);

g.DrawEllipse (p,(float)(250−0.5*x),(float)(250−0.5*x),(float)x,(float)x);/* ИмСнно здСсь происходит Π²Ρ‹Π²ΠΎΠ΄ окруТностСй Π½Π° ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ*/

}

}

Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠŸΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ листинг, сформированный транслятором (см. ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅).

Задания

1). Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ вводятся ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ окруТности ΠΈ ΠΌΠ΅Π½ΡΡŽΡ‚ся ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ.

2). Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ двиТСтся ΠΎΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ, ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ½ ΠΎΡΡ‚анавливаСтся, ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ считываСтся значСния красной, Π·Π΅Π»Π΅Π½ΠΎΠΉ ΠΈ ΡΠΈΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Textbox-ΠΎΠ² ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ‚ся Ρ†Π²Π΅Ρ‚ окруТности.

3). Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с Ρ‚рСмя ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ вводятся Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ x, y, z, w, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ рисуСтся линия, Π²Ρ‚ΠΎΡ€ΠΎΠΉ? ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, Π° Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ? эллипс. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ гСомСтричСских Ρ„ΠΈΠ³ΡƒΡ€ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ x, y, z ΠΈ w.

4). Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΏΠΊΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ/ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ, ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π΄Ρ€ΡƒΠ³ΠΎΠΉ — радиус окруТности Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ (Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°), Π·Π°Ρ‚Π΅ΠΌ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒΡΡ (Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°), послС ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ радиуса прСкращаСтся.

5). Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ двиТСтся Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ Ρ‡Ρ‚ΠΎ ΠΈ ΠΌΡ‹ΡˆΡŒ.

6). Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ двиТСния окруТности задаСтся Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ клавиш (стрСлок) ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹).

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Листинг, сформированный транслятором Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ выполнСния Ρ€Π°Π±ΠΎΡ‚Ρ‹

using System;

using System. Drawing;

using System. Collections;

using System. ComponentModel;

using System.Windows.Forms;

using System. Data;

namespace WindowsApplication4

{

/// Summary description for Form1.

public class Form1: System.Windows.Forms.Form

{

private System.Windows.Forms.Label label1;

private System.Windows.Forms.Label label2;

private System.Windows.Forms.Label label3;

private System.Windows.Forms.Label label4;

private System.Windows.Forms.Label label5;

private System.Windows.Forms.TextBox A;

private System.Windows.Forms.TextBox B;

private System.Windows.Forms.Button Calculate;

private System.Windows.Forms.TextBox C;

/// Required designer variable.

private System.ComponentModel.Container components = null;

public Form1()

{

// Required for Windows Form Designer support

InitializeComponent ();

// TODO: Add any constructor code after InitializeComponent call

}

/// Clean up any resources being used.

protected override void Dispose (bool disposing)

{

if (disposing)

{

if (components ≠ null)

{

components.Dispose ();

}

}

base.Dispose (disposing);

}

#region Windows Form Designer generated code

/// Required method for Designer support — do not modify

/// the contents of this method with the code editor.

private void InitializeComponent ()

{

this.A = new System.Windows.Forms.TextBox ();

this.B = new System.Windows.Forms.TextBox ();

this.label1 = new System.Windows.Forms.Label ();

this.label2 = new System.Windows.Forms.Label ();

this.label3 = new System.Windows.Forms.Label ();

this.C = new System.Windows.Forms.TextBox ();

this.label4 = new System.Windows.Forms.Label ();

this.label5 = new System.Windows.Forms.Label ();

this.Calculate = new System.Windows.Forms.Button ();

this.SuspendLayout ();

// A

this.A.Location = new System.Drawing.Point (16, 56);

this.A.Name = «A» ;

this.A.Size = new System.Drawing.Size (64, 20);

this.A.TabIndex = 0;

this.A.Text = «1» ;

// B

this.B.Location = new System.Drawing.Point (120, 56);

this.B.Name = «B» ;

this.B.Size = new System.Drawing.Size (72, 20);

this.B.TabIndex = 1;

this.B.Text = «» ;

// label1

this.label1.Font = new System.Drawing.Font («Microsoft Sans Serif», 14.25 °F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(204)));

this.label1.Location = new System.Drawing.Point (40, 32);

this.label1.Name = «label1» ;

this.label1.Size = new System.Drawing.Size (16, 16);

this.label1.TabIndex = 2;

this.label1.Text = «A» ;

// label2

this.label2.Font = new System.Drawing.Font («Microsoft Sans Serif», 14.25 °F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(204)));

this.label2.Location = new System.Drawing.Point (88, 56);

this.label2.Name = «label2» ;

this.label2.Size = new System.Drawing.Size (16, 23);

this.label2.TabIndex = 3;

this.label2.Text = «+» ;

// label3

this.label3.Font = new System.Drawing.Font («Microsoft Sans Serif», 14.25 °F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(204)));

this.label3.Location = new System.Drawing.Point (144, 32);

this.label3.Name = «label3» ;

this.label3.Size = new System.Drawing.Size (16, 24);

this.label3.TabIndex = 4;

this.label3.Text = «b» ;

// C

this.C.Location = new System.Drawing.Point (240, 56);

this.C.Name = «C» ;

this.C.Size = new System.Drawing.Size (80, 20);

this.C.TabIndex = 5;

this.C.Text = «» ;

// label4

this.label4.Font = new System.Drawing.Font («Microsoft Sans Serif», 14.25 °F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(204)));

this.label4.ForeColor = System.Drawing.SystemColors.Desktop;

this.label4.Location = new System.Drawing.Point (208, 56);

this.label4.Name = «label4» ;

this.label4.Size = new System.Drawing.Size (16, 24);

this.label4.TabIndex = 6;

this.label4.Text = «=»;

// label5

this.label5.Font = new System.Drawing.Font («Microsoft Sans Serif», 14.25 °F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(204)));

this.label5.Location = new System.Drawing.Point (240, 24);

this.label5.Name = «label5» ;

this.label5.Size = new System.Drawing.Size (80, 24);

this.label5.TabIndex = 7;

this.label5.Text = «Π‘ΡƒΠΌΠΌΠ°» ;

// Calculate

this.Calculate.Location = new System.Drawing.Point (104, 112);

this.Calculate.Name = «Calculate» ;

this.Calculate.Size = new System.Drawing.Size (120, 48);

this.Calculate.TabIndex = 8;

this.Calculate.Text = «Π‘Π»ΠΎΠΆΠΈΡ‚ΡŒ» ;

this.Calculate.Click += new System. EventHandler (this.button1_Click);

// Form1

this.AutoScaleBaseSize = new System.Drawing.Size (5, 13);

this.ClientSize = new System.Drawing.Size (544, 437);

this.Controls.AddRange (new System.Windows.Forms.Control[] {

this.Calculate,

this.label5,

this.label4,

this.C,

this.label3,

this.label2,

this.label1,

this.B,

this.A});

this.Name = «Form1» ;

this.Text = «Form1» ;

this.MouseDown += new System.Windows.Forms.MouseEventHandler (this.Form1_MouseDown);

this.Load += new System. EventHandler (this.Form1_Load);

this.ResumeLayout (false);

}

#endregion

/// The main entry point for the application.

[STAThread]

static void Main ()

{

Application.Run (new Form1());

}

private void Form1_Load (object sender, System. EventArgs e)

{

}

private void button1_Click (object sender, System. EventArgs e)

{

double a, b;

try/*ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, здСсь выдСляСтся Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (ошибки)*/

{

a=Convert.ToDouble (A.Text);/*Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅ΠΌ тСкст (A.Text),

Π·Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π³ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ double*/

b=Convert.ToDouble (B.Text);/*Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅ΠΌ тСкст (B.Text),

Π·Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π³ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ double*/

C.Text=Convert.ToString (a+b);/*ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ тСксту Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° (Π‘.Text) ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π² ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ сумму чисСл (a+b)ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΈΠ· Π΄Π²ΡƒΡ… Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ²*/

}

catch//ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ — ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка

{

MessageBox.Show («ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Π²ΠΎΠ΄Π° чисСл!»);

}

}

private void Form1_MouseDown (object sender, System.Windows.Forms.MouseEventArgs e)

{

Pen p;//ОбъявляСм ΠΏΠ΅Ρ€ΠΎ

Graphics g=CreateGraphics ();

/*Π­Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ выводился рисунок */

Color clr = new Color ();/* создаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Color для хранСния Ρ†Π²Π΅Ρ‚Π°*/

float R2, r2,k=1,

R=200;//ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ радиус ΡˆΠ°Ρ€Π°

int x, y;

int red=20,gre=250,blu=150;

clr=Color.FromArgb ((int)(k*red),(int)(k*gre),(int)(k*blu));

/*Π—Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ Ρ†Π²Π΅Ρ‚ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ RGB*/

clr=Color.FromArgb ((int)200,(int)0,(int)0);

p=new Pen (clr);//Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ΅Ρ€ΠΎ

g.DrawRectangle (p, 30,180,100,20);//РисуСм ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ

p=System.Drawing.Pens.Fuchsia;//Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Ρ†Π²Π΅Ρ‚ фуксин ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ†Π²Π΅Ρ‚ΠΎΠ²

g.DrawLine (p, 30,254,68,275);//РисуСм ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈ ΠΏΡ€ΡΠΌΡƒΡŽ линию

R2=R*R;

/*Π—Π΄Π΅ΡΡŒ рисуСм ΡˆΠ°Ρ€ΠΈΠΊ окруТностями

* увСличивая Π΅Π³ΠΎ радиус ΠΈ ΠΌΠ΅Π½ΡΡ Ρ†Π²Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ окруТности*/

for (y=0;y<=R;y++)

for (x=0;x<=y;x++)

{

r2=(float)2*x*x;

if (r2>R2) break;

k=1-r2/R2;

clr=Color.FromArgb ((int)(k*red),(int)(k*gre),(int)(k*blu));

p=new Pen (clr);

g.DrawEllipse (p,(float)(250−0.5*x),(float)(250−0.5*x),(float)x,(float)x);// ИмСнно здСсь происходит Π²Ρ‹Π²ΠΎΠ΄ окруТностСй Π½Π° ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ

}

}

}

}

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ