Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π―Π—Π«Πš ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ˜Π ΠžΠ’ΠΠΠ˜Π― Π‘# 2005 И ΠŸΠ›ΠΠ’Π€ΠžΠ ΠœΠ .NET 2.0. 3-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 204

Автор Π­Π½Π΄Ρ€ΡŽ ВроСлсСн

  else f = new Font("Times New Roman", 24);

  g.DrawString(userMessage, f, Brushes.DarkBlue, 50, 50);

 }

}

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ SimpleModalDialog Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ Π² ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Π³Π»Π°Π²Π΅ 21.

ДинамичСскоС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ элСмСнтов управлСния Windows Forms

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ эту Π³Π»Π°Π²Ρƒ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим нСсколько ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для управлСния Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ элСмСнтов управлСния Π² Ρ„ΠΎΡ€ΠΌΠ΅. Если ΠΏΡ€ΠΈ создании Ρ‚ΠΈΠΏΠ° Form Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ элСмСнты управлСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ с использованиСм Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Ρ… ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ, Ρ‚ΠΎ это, ΠΏΠΎ сути, ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ°, размСщСнная Π² ΠΎΠΊΠ½Π΅ проСктирования Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° 10 пиксСлСй Π½ΠΈΠΆΠ΅ ΠΈ Π½Π° 10 пиксСлСй ΠΏΡ€Π°Π²Π΅Π΅ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π° Ρ„ΠΎΡ€ΠΌΡ‹, Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΌ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ всСй Π΅Π΅ "ΠΆΠΈΠ·Π½ΠΈ".

ΠŸΡ€ΠΈ создании Ρ„ΠΎΡ€ΠΌΡ‹, содСрТащСй элСмСнты управлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ½Π° Π»ΠΈ Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π΅Π΅ ΠΎΠΊΠ½Π°. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ допускаСт ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ², Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΎΠΊΠ½Π° – Π½Π΅Ρ‚. Напомним, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Ρ„ΠΎΡ€ΠΌΡ‹ задаСтся свойством FormBorderStyle. ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ любоС ΠΈΠ· Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ пСрСчня FormBorderStyle.

public enum System.Windows.Forms.FormBorderStyle {

 None, FixedSingle, Fixed3D,

 FixedDialog, Sizable,

 FixedToolWindow, SizableToolWindow

}

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Ρ„ΠΎΡ€ΠΌΡ‹. Π’ΠΎΠ³Π΄Π° Π² связи с содСрТащимися Π² Ρ„ΠΎΡ€ΠΌΠ΅ элСмСнтами управлСния Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ интСрСсныС вопросы. НапримСр, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ сдСлаСт Ρ„ΠΎΡ€ΠΌΡƒ мСньшС, Ρ‡Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для отобраТСния всСх элСмСнтов управлСния, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π»ΠΈ эти элСмСнты управлСния ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ свои Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ (ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, располоТСниС) Π² соотвСтствии с Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ Ρ„ΠΎΡ€ΠΌΡ‹?

Бвойство Anchor

Π’ Windows Forms свойство Anchor ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для опрСдСлСния ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ фиксированной ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ всСгда Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π±Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ элСмСнт управлСния. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΉ ΠΎΡ‚ Control Ρ‚ΠΈΠΏ ΠΈΠΌΠ΅Π΅Ρ‚ свойство Anchor, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ любоС ΠΈΠ· Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ пСрСчня AnchorStyles, описанных Π² Ρ‚Π°Π±Π». 21.13.

Π’Π°Π±Π»ΠΈΡ†Π° 21.13. ЗначСния AnchorStyles

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ОписаниС Bottom НиТний ΠΊΡ€Π°ΠΉ элСмСнта управлСния прикрСпляСтся ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡƒ ΠΊΡ€Π°ΡŽ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Left Π›Π΅Π²Ρ‹ΠΉ ΠΊΡ€Π°ΠΉ элСмСнта управлСния прикрСпляСтся ΠΊ Π»Π΅Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° None Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ управлСния Π½Π΅ прикрСпляСтся ΠΊ краям ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Right ΠŸΡ€Π°Π²Ρ‹ΠΉ ΠΊΡ€Π°ΠΉ элСмСнта управлСния прикрСпляСтся ΠΊ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Top Π’Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΊΡ€Π°ΠΉ элСмСнта управлСния прикрСпляСтся ΠΊ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ ΠΊΡ€Π°ΡŽ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ элСмСнт Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ ΠΎΠΊΠ½Π°, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ значСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Π˜Π›Π˜ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, AnchorStyles.Top | AnchorStyles.Left). ЦСлью использования свойства Anchor являСтся ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ расстояния ΠΎΡ‚ ΠΊΡ€Π°Π΅Π² элСмСнта управлСния Π΄ΠΎ ΠΊΡ€Π°Π΅Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ фиксированы. НапримСр, Ссли Π·Π°Π΄Π°Ρ‚ΡŒ для ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Anchor:

// Π—Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ элСмСнта ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ края.

myButton.Anchor = AnchorStyles.Right;

Ρ‚ΠΎ Π²Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Ρ„ΠΎΡ€ΠΌΡ‹ данная ΠΊΠ½ΠΎΠΏΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ своС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ края Ρ„ΠΎΡ€ΠΌΡ‹.

Бвойство Dock

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ программирования Windows Forms являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‚ΡŒ cΡ‚Ρ‹ΠΊΠΎΠ²ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ элСмСнтов управлСния. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства Dock элСмСнта управлСния ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ стороны (ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΡ… сторон) Ρ„ΠΎΡ€ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠ°ΡΠ°Ρ‚ΡŒΡΡ Π΄Π°Π½Π½Ρ‹ΠΉ элСмСнт. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚Π΅ свойству Dock элСмСнта управлСния, учитываСтся Π²Π½Π΅ зависимости ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΎΠΊΠ½Π° Ρ„ΠΎΡ€ΠΌΡ‹. ДопустимыС значСния описаны Π² Ρ‚Π°Π±Π». 21.14.

Π’Π°Π±Π»ΠΈΡ†Π° 21.14. ЗначСния DockStyle 

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ОписаниС Bottom НиТний ΠΊΡ€Π°ΠΉ элСмСнта ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ стыкуСтся с Π½ΠΈΠΆΠ½ΠΈΠΌ ΠΊΡ€Π°Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΎΠ³ΠΎ элСмСнта управлСния Fill ВсС края элСмСнта управлСния ΡΡ‚Ρ‹ΠΊΡƒΡŽΡ‚ΡΡ со всСми краями ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΎΠ³ΠΎ элСмСнта управлСния, ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ измСняСтся Ρ€Π°Π·ΠΌΠ΅Ρ€ Left Π›Π΅Π²Ρ‹ΠΉ ΠΊΡ€Π°ΠΉ элСмСнта управлСния стыкуСтся с Π»Π΅Π²Ρ‹ΠΌ ΠΊΡ€Π°Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΎΠ³ΠΎ элСмСнта управлСния None  Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ управлСния Π½Π΅ стыкуСтся с ΠΊΡ€Π°Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΎΠ³ΠΎ элСмСнта управлСния Right ΠŸΡ€Π°Π²Ρ‹ΠΉ ΠΊΡ€Π°ΠΉ элСмСнта управлСния стыкуСтся с ΠΏΡ€Π°Π²Ρ‹ΠΌ ΠΊΡ€Π°Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΎΠ³ΠΎ элСмСнта управлСния Top Π’Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΊΡ€Π°ΠΉ элСмСнта управлСния стыкуСтся с Π²Π΅Ρ€Ρ…Π½ΠΈΠΌ ΠΊΡ€Π°Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΎΠ³ΠΎ элСмСнта управлСния

НапримСр, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Π½Π½Ρ‹ΠΉ элСмСнт всСгда располагался ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ Ρ„ΠΎΡ€ΠΌΡ‹, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅.

// Π­Ρ‚ΠΎΡ‚ элСмСнт всСгда размСщаСтся ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ Ρ„ΠΎΡ€ΠΌΡ‹,

// нСзависимо ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Ρ„ΠΎΡ€ΠΌΡ‹.

myButton.Dock = DockStyle.Left;

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π²ΠΎ Ρ‡Ρ‚ΠΎ "выливаСтся" установка свойств Anchor ΠΈ Dock, рассмотритС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ AnchoringControls, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТится Π² Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² для этой ΠΊΠ½ΠΈΠ³ΠΈ. ПослС ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΠΈ запуска этого прилоТСния Π²Ρ‹ смоТСтС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ систСму мСню для установки Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ AnchorStyles ΠΈ DockStyle, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ измСнСния, происходящиС ΠΏΡ€ΠΈ этом Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠ° Button (рис. 21.37).

НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ свойства Anchor, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ Π½Π° это ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Button.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ AnchoringControls Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ Π² ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Π³Π»Π°Π²Π΅ 21,

Рис. 21.37. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ AnchoringControls

Π’Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ элСмСнтов

Π’ .NET 2.0 прСдлагаСтся Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ управлСния Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ элСмСнтов управлСния Π² Ρ„ΠΎΡ€ΠΌΠ΅ – с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… администраторов размСщСния. Π’ΠΈΠΏΡ‹ TableLayoutPanel ΠΈ FlowLayoutPanel ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² области ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Ρ„ΠΎΡ€ΠΌΡ‹ с Ρ†Π΅Π»ΡŒΡŽ управлСния Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… элСмСнтов управлСния. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎ Π² ΠΎΠΊΠ½Π΅ проСктирования Ρ„ΠΎΡ€ΠΌΡ‹ Π²Ρ‹ помСстили Π² Ρ„ΠΎΡ€ΠΌΡƒ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт FlowLayoutPanel ΠΈ настроили Π΅Π³ΠΎ Π½Π° стыковку со всСми краями Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ (рис. 21.38).

Рис. 21.38. Π‘Ρ‚Ρ‹ΠΊΠΎΠ²ΠΊΠ° FlowLayoutPanel Π² Ρ„ΠΎΡ€ΠΌΠ΅

Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ проСктирования Ρ„ΠΎΡ€ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² FlowLayoutPanel Π΄Π΅ΡΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Button. Если Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ваши Π΄Π΅ΡΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΎΠΊ автоматичСски распрСдСлятся Π² Ρ„ΠΎΡ€ΠΌΠ΅, ΠΈ это ΠΎΡ‡Π΅Π½ΡŒ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ стандартный HTML.

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ссли Π²Ρ‹ создаСтС Ρ„ΠΎΡ€ΠΌΡƒ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ TableLayoutPanel, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π΅Π»Π΅Π½ Π½Π° "ячСйки" (рис. 21.39).

Рис. 21.39. Вип TableLayoutPanel

Если Π²Ρ‹ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ Edit Rows and Columns (Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ строки ΠΈ столбцы) ΠΈΠ· мСню встроСнного Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° элСмСнта Π² ΠΎΠΊΠ½Π΅ проСктирования Ρ„ΠΎΡ€ΠΌΡ‹ (ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рис. 21.39), Ρ‚ΠΎ Π²Ρ‹ смоТСтС ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ TableLayoutPanel для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ячСйки (рис. 21.40).

Рис. 21.40. Настройка ячССк Ρ‚ΠΈΠΏΠ° TableLayoutPanel

ΠŸΡ€Π°Π²Π΄Π°, СдинствСнной Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ настройки Ρ‚ΠΈΠΏΠ° TableLayoutPanel являСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ заинтСрСсованным читатСлям Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ это Π·Π°Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

РСзюмС

Π­Ρ‚Π° Π³Π»Π°Π²Π° Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ вашС ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ пространства ΠΈΠΌΠ΅Π½ Windows Forms ΠΏΡƒΡ‚Π΅ΠΌ рассмотрСния возмоТностСй элСмСнтов графичСского интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΎΡ‚ самых простых (Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Label) Π΄ΠΎ "экзотичСских" (Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ TreeView). ПослС изучСния мноТСства Ρ‚ΠΈΠΏΠΎΠ², ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… элСмСнтам управлСния, Π±Ρ‹Π»Π° рассмотрСна Π·Π°Π΄Π°Ρ‡Π° построСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… элСмСнтов управлСния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈΡ… ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ Π² срСду проСктирования.

Π’Π°ΠΊΠΆΠ΅ Π² этой Π³Π»Π°Π²Π΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΎΠΊΠ½Π° ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ ΠΈΠ· ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ° Form, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ возмоТности наслСдования Ρ„ΠΎΡ€ΠΌ. Π—Π°Π²Π΅Ρ€ΡˆΠΈΠ»Π°ΡΡŒ эта Π³Π»Π°Π²Π° ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΌ обсуТдСниСм возмоТностСй закрСплСния ΠΈ стыковки элСмСнтов управлСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½ΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ² размСщСния .NET 2.0, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для задания Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ располоТСния элСмСнтов графичСского интСрфСйса Π² Ρ„ΠΎΡ€ΠΌΠ΅.

ГЛАВА 22. Доступ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ADO.NET

Если Π²Ρ‹ Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€, вас, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, заинтСрСсуСт Ρ‚Π΅ΠΌΠ° доступа ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. Как ΠΈ слСдуСт ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° .NET опрСдСляСт Ρ†Π΅Π»Ρ‹ΠΉ ряд пространств ΠΈΠΌΠ΅Π½, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… взаимодСйствиС с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΈ пространства ΠΈΠΌΠ΅Π½ извСстны ΠΏΠΎΠ΄ ΠΎΠ±Ρ‰ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ADO.NET.