if (e.Button == MouseButtons.Left) MessageBox.Show("Π©Π΅Π»ΡΠΎΠΊ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ");
if (e.Button == MouseButtons.Right) MessageBox.Show("Π©Π΅Π»ΡΠΎΠΊ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ");
if (e.Button == MouseButtons.Middle) MessageBox.Show("Π©Π΅Π»ΡΠΎΠΊ ΡΡΠ΅Π΄Π½Π΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ");
}
ΠΡΠ²Π΅Ρ Π½Π° ΡΠΎΠ±ΡΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π²ΠΎΠ΄Π° Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΏΠΎΡΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΌΡΡΠΈ. cΠΎΠ±ΡΡΠΈΡ KeyUp ΠΈ KeyDown ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΏΠ°ΡΠ΅ Ρ Π΄Π΅Π»Π΅Π³Π°ΡΠΎΠΌ KeyEventHandler, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π»ΡΠ±ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΏΠΎΠ»ΡΡΠ°ΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΈ KeyEventArgs β Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΠΎΡΠΎΠ³ΠΎ.
void MyKeyboardHandler(object sender, KeyEventArgs e);
ΠΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ»Π΅Π½ΠΎΠ² KeyEventArgs ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΡΡ Π² ΡΠ°Π±Π». 19.7.
Π’Π°Π±Π»ΠΈΡΠ° 19.7. Π‘Π²ΠΎΠΉΡΡΠ²Π° ΡΠΈΠΏΠ° KeyEventArgs
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Alt Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ²Π»ΡΡΡΠ΅Π΅ΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ βΉAltβΊ Control Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ²Π»ΡΡΡΠ΅Π΅ΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ βΉCtrlβΊ Handled Π§ΠΈΡΠ°Π΅Ρ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ²Π»ΡΡΡΠ΅Π΅ΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ KeyCode ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠ»Π°Π²ΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΡ KeyDown ΠΈΠ»ΠΈ ΡΠΎΠ±ΡΡΠΈΡ KeyUp Modifiers Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΡΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π±ΡΠ»ΠΈ Π½Π°ΠΆΠ°ΡΡ (βΉCtrlβΊ, βΉShiftβΊ ΠΈ/ΠΈΠ»ΠΈ βΉAltβΊ) Shift Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ²Π»ΡΡΡΠ΅Π΅ΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ βΉShiftβΊΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ MainForm, ΡΡΠΎΠ±Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠΎΠ±ΡΡΠΈΡ KeyUp. Π ΠΎΠΊΠ½Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ KeyCode.
public class MainForm: Form {
public MainForm() {
β¦
// ΠΠ»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ KeyUp.
KeyUp += new KeyEventHandler(MainForm_KeyUp);
}
private void MainForm_KeyUp (object sender, KeyEventArgs e) {
MessageBox.Show(e.KeyCode.ToString(), "ΠΠ°ΠΆΠ°ΡΠ° ΠΊΠ»Π°Π²ΠΈΡΠ°!");
}
}
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π±ΡΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΡΠ΅Π»ΡΠΎΠΊ, Π½ΠΎ ΠΈ ΡΠΎ, ΠΊΠ°ΠΊΠ°Ρ Π±ΡΠ»Π° Π½Π°ΠΆΠ°ΡΠ° ΠΊΠ»Π°Π²ΠΈΡΠ° Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅.
ΠΠ° ΡΡΠΎΠΌ ΠΌΡ Π·Π°Π²Π΅ΡΡΠΈΠΌ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Control ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΡΠΎΠ»ΠΈ Form.
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄. ΠΡΠΎΠ΅ΠΊΡ ControlBehaviors ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ Π² ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ Π³Π»Π°Π²Π΅ 19.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ»Π°ΡΡΠ° Form
ΠΠ»Π°ΡΡ Form ΠΎΠ±ΡΡΠ½ΠΎ (Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ) ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΠΌ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠΈΠΏΠΎΠ² Form. Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π±ΠΎΠ»ΡΡΠΎΠΌΡ Π½Π°Π±ΠΎΡΡ ΡΠ»Π΅Π½ΠΎΠ², ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΡ ΠΎΡ ΠΊΠ»Π°ΡΡΠΎΠ² Control, ScrollableControl ΠΈ ContainerControl, ΡΠΈΠΏ Form ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π³Π»Π°Π²Π½ΡΡ ΠΎΠΊΠΎΠ½, Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΠΎΠΊΠΎΠ½ MDI ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΎΠΊΠΎΠ½. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠ°Π±Π». 19.8.
Π’Π°Π±Π»ΠΈΡΠ° 19.8. Π‘Π²ΠΎΠΉΡΡΠ²Π° ΡΠΈΠΏΠ° Form
Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ AcceptButton Π§ΠΈΡΠ°Π΅Ρ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ "Π½Π°ΠΆΠ°ΡΠ°" (Π² ΡΠΎΡΠΌΠ΅), ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΌΠ΅Ρ ΠΊΠ»Π°Π²ΠΈΡΡ βΉEnterβΊ ActiveMDIChild IsMDIChild IsMDIContainer ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠDI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ CancelButton Π§ΠΈΡΠ°Π΅Ρ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ½ΠΎΠΏΠΎΡΠ½ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ "Π½Π°ΠΆΠ°Ρ", ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΌΠ΅Ρ ΠΊΠ»Π°Π²ΠΈΡΡ βΉEscβΊ ControlBox Π§ΠΈΡΠ°Π΅Ρ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ²Π»ΡΡΡΠ΅Π΅ΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ Π½Π°Π»ΠΈΡΠΈΡ Ρ ΡΠΎΡΠΌΡ ΡΠΊΡΠ°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠΊΠ½ΠΎΠΌ FormBorderStyle Π§ΠΈΡΠ°Π΅Ρ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π·Π°Π΄Π°ΡΡΠ΅Π΅ ΡΡΠΈΠ»Ρ Π³ΡΠ°Π½ΠΈΡΡ ΡΠΎΡΠΌΡ (Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΠ΅ΡΠ΅ΡΠ½Π΅ΠΌ FormBorderStyle) Menu Π§ΠΈΡΠ°Π΅Ρ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΡΡΠΊΠΎΠ²ΠΊΠ΅ ΠΌΠ΅Π½Ρ Π² ΡΠΎΡΠΌΠ΅ MaximizeBox MinimizeBox ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π½Π°Π»ΠΈΡΠΈΠΈ Ρ ΡΠΎΡΠΌΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠΊΠ½Π° ShowInTaskbar Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π±ΡΠ΄Π΅Ρ Π»ΠΈ ΡΠΎΡΠΌΠ° Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ Π² ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ Windows StartPosition Π§ΠΈΡΠ°Π΅Ρ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π·Π°Π΄Π°ΡΡΠ΅Π΅ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΎΠΊΠ½Π° ΡΠΎΡΠΌΡ (Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΠ΅ΡΠ΅ΡΠ½Π΅ΠΌ FormStartPosition) WindowState Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ (Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΠ΅ΡΠ΅ΡΠ½Π΅ΠΌ FormWindowState), Π² ΠΊΠ°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠΎΡΠΌΠ° ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠΎΠ±ΡΡΠΈΠΉ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ On, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π² ΡΠ°Π±Π». 19.9 ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π±Π°Π·ΠΎΠ²ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΠΏΠΎΠΌ Form.
Π’Π°Π±Π»ΠΈΡΠ° 19.9. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΈΠΏΠ° Form
ΠΠ΅ΡΠΎΠ΄ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Activate() ΠΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠΎΡΠΌΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΅ΠΉ ΡΠΎΠΊΡΡ Π²Π²ΠΎΠ΄Π° Close() ΠΠ°ΠΊΡΡΠ²Π°Π΅Ρ ΡΠΎΡΠΌΡ CenterToScreen() Π Π°Π·ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΎΡΠΌΡ Π² ΡΠ΅Π½ΡΡΠ΅ ΡΠΊΡΠ°Π½Π° LayoutMDI Π Π°Π·ΠΌΠ΅ΡΠ°Π΅Ρ Π²ΡΠ΅ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΡΠΎΡΠΌΡ (Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΠ΅ΡΠ΅ΡΠ½Π΅ΠΌ LayoutMDI) Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΠΎΡΠΌΡ ShowDialog() ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΎΡΠΌΡ Π² Π²ΠΈΠ΄Π΅ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΎΠΊΠΎΠ½ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ Π² Π³Π»Π°Π²Π΅ 21ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΊΠ»Π°ΡΡ Form ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ΄ ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠΈΠΊΠ»ΠΎΠΌ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΠΌΡ. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠ°Π±Π». 19.10.
Π’Π°Π±Π»ΠΈΡΠ° 19.10. ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ ΡΠΈΠΏΠ° Form
Π‘ΠΎΠ±ΡΡΠΈΡ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Activated ΠΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΡΠΌΡ, Ρ.Π΅. ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΎΡΠΌΠΎΠΉ ΡΠΎΠΊΡΡΠ° Π²Π²ΠΎΠ΄Π° Closed, Closing ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠΎΡΠΌΠ° Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΈΠ»ΠΈ ΡΠΆΠ΅ Π·Π°ΠΊΡΡΡΠ° Deactivate ΠΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΡΠΌΡ, ΡΠ΅. ΠΊΠΎΠ³Π΄Π° ΡΠΎΡΠΌΠ° ΡΡΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠΎΠΊΡΡ Π²Π²ΠΎΠ΄Π° Load ΠΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΡΠΌΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ, Π½ΠΎ ΠΏΠΎΠΊΠ° ΠΎΡΡΠ°Π΅ΡΡΡ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ Π½Π° ΡΠΊΡΠ°Π½Π΅ MDIChildActive ΠΠ΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈ Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΠΎΠΊΠ½Π°Π¦ΠΈΠΊΠ» ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠ° Form
ΠΡΠ»ΠΈ Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ ΠΎΠΏΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΊΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠ°ΠΊ Java Swing, Mac OS X Cocoa ΠΈΠ»ΠΈ Win32 ΠΠ I, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π½Π°ΡΡ, ΡΡΠΎ "ΠΎΠΊΠΎΠ½Π½ΡΠ΅ ΡΠΈΠΏΡ" ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠΈΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΡΠΈΠΊΠ»Π° ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΡΠΈΠΏΠΎΠ². Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈ ΠΎ ΡΠΈΠΏΠ°Ρ Windows Forms. ΠΡ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΡΡΠΎ "ΠΆΠΈΠ·Π½Ρ" ΡΠΎΡΠΌΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΠΈΠΏΠ°, ΠΏΠ΅ΡΠ΅Π΄ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ ΠΌΠ΅ΡΠΎΠ΄Ρ Application.Run().
ΠΠΎΡΠ»Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ Load. Π ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΠΉ Load ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π²ΠΈΠ΄ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΌΡ, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ΡΡ Π² ΡΠΎΡΠΌΠ΅ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (ΠΎΠΊΠ½Π° ΡΠΏΠΈΡΠΊΠΎΠ², Π΄Π΅ΡΠ΅Π²ΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈ Ρ.Π΄.), ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎΡΠΌΡ (ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ²ΡΠ·Ρ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , ΡΠΎΠ·Π΄Π°ΡΡ Π°Π³Π΅Π½ΡΡ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ Ρ.Π΄.).
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΎΠ±ΡΡΠΈΠ΅ΠΌ, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠΌ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ±ΡΡΠΈΡ Load, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ Activated. ΠΡΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡΠΎΡΠΌΠ° ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΎΠΊΡΡ Π²Π²ΠΎΠ΄Π°, ΠΊΠ°ΠΊ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΡΠΎΠ»Π΅. ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ "Π°Π½ΡΠΈΠΏΠΎΠ΄ΠΎΠΌ" ΡΠΎΠ±ΡΡΠΈΡ Activated ΡΠ²Π»ΡΠ΅ΡΡΡ (ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅) ΡΠΎΠ±ΡΡΠΈΠ΅ Deactivate, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡΠΎΡΠΌΠ° ΡΡΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΠΎΠΊΡΡ Π²Π²ΠΎΠ΄Π°, ΡΡΠ°Π½ΠΎΠ²ΡΡΡ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΎΠΊΠ½ΠΎΠΌ. ΠΠ΅Π³ΠΊΠΎ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, ΡΡΠΎ ΡΠΎΠ±ΡΡΠΈΡ Activated ΠΈ Deactivate Π² ΡΠΈΠΊΠ»Π΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΠΌΡ ΠΌΠΎΠ³ΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ.
ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅ΡΠ°Π΅Ρ Π·Π°ΠΊΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΠΎΡΠΌΡ, ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΡΡ Π΅ΡΠ΅ Π΄Π²Π° ΡΠΎΠ±ΡΡΠΈΡ: Closing ΠΈ Closed. Π‘ΠΎΠ±ΡΡΠΈΠ΅ Closing Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΈ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π½Π΅Π»ΡΠ±ΠΈΠΌΠΎΠ΅ (Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅) ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ "ΠΡ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΊΡΡΡΡ ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅?". ΠΡΠΎΡ ΡΠ°Π³ Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ Π²ΡΡ ΠΎΠ΄ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΡΠ΅ΠΌ. ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.