ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½Π° ΠΈΡΡΠΎΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘Π°ΠΌ Π°Π²ΡΠΎΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΠΈΡΠ°Π» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΅ΡΠ΅ Π½Π° Visual Studio .NET 2003 Π΄Π»Ρ ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΎΠ² ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΡ Smartphone 2003. ΠΠΎΠ³Π΄Π° Ρ ΡΠΊΠ°ΡΠ°Π» ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ, ΡΠΎ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Visual Studio .NET 2005 ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ»Π° ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ. Π― ΡΠΎΠ³Π»Π°ΡΠΈΠ»ΡΡ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ» Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π’Π΅ΠΏΠ΅ΡΡ, ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»ΠΊΠΈ, ΠΏΡΠΎΠ΅ΠΊΡ Π·Π°ΠΏΡΡΠΊΠ°Π»ΡΡ Π² Visual Studio 2005 ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΠΌΡΠ»ΡΡΠΎΡ Smartphone 2003. ΠΠΎ ΠΌΠ½Π΅ Π·Π°Ρ ΠΎΡΠ΅Π»ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΎΠ² Windows Mobile 2005. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΠ»ΠΎ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²ΡΠ±ΡΠ°ΡΡ Π΄ΡΡΠ³ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. Π‘Π½ΠΎΠ²Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ ΡΠ°Π·Π΄ΡΠΌΠΈΠΉ, ΠΈ Visual Studio Π²ΡΠ΄Π°Π΅Ρ Π΅ΡΠ΅ ΡΠ°Π· ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°Π½Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠΎ ΠΈ ΡΡΠΎΠ³ΠΎ ΠΌΠ½Π΅ ΠΌΠ°Π»ΠΎ. ΠΡΠΎΠ΅ΠΊΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ .NET Compact Framework 1.0. ΠΠΎΡΠ»Π΅ Π²ΡΠ±ΠΎΡΠ° Π½ΡΠΆΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ²ΠΎΠΉΡΡΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΎΠ½ ΡΡΠ°Π» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ .NET Compact Framework 2.0. ΠΡΡΠ°Π»ΠΎΡΡ Π»ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° ΡΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ ΠΈ Π²Π²Π΅ΡΡΠΈ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ .NET Compact Framework 2.0 Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠ°ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ»ΠΈΡΡ Π΄Π»Ρ .NET Compact Framework 1.0.
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ
Π€Π°ΠΉΠ»ΠΎΠ²ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ°ΠΏΠΎΠΊ, ΡΠ΄Π°Π»ΡΡΡ Π»ΠΈΡΠ½ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ. Π’ΡΡΠ΄Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ Microsoft ΡΠ΅ΡΠΈΠ»Π° Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π° Π² ΡΠΎΡΡΠ°Π² ΡΠΈΡΡΠ΅ΠΌΡ Windows Mobile. ΠΡΡΠ°ΡΠΈ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΎΠ² ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΡΠΎΡΡΠ°Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠΎ ΠΌΡ Ρ Π²Π°ΠΌΠΈ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΠ²ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΡΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅Π΅.
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π£ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠ²ΠΎΡ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ°ΠΏΠΊΠΈ My Documents. Π‘Π°ΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡ ΠΈ ΠΏΠΎΠ½ΡΡΠ΅Π½. ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠ°ΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΡΠΌ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π½ΡΠΆΠ½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ Π½Π°ΠΆΠ°ΡΠΈΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ Enter. ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΡΠΎΠ²Π΅Π½Ρ Π²Π²Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠ°ΠΏΠΊΡ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π²ΡΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ. ΠΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ ΠΡΡ ΠΎΠ΄ Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ, Π° ΠΏΡΠ½ΠΊΡ ΠΠ΅Π½Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ (ΡΠΈΡ. 7.3).
Π ΠΈΡ. 7.3. ΠΠ±ΡΠΈΠΉ Π²ΠΈΠ΄ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°
ΠΠ΅Π½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π°Π»ΡΡΡ, ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ. Π’Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠ»ΡΠΊΠ°ΠΌΠΈ. Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ, Π½ΡΠΆΠ½ΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠ±ΡΠ°ΡΡ ΡΠ°ΠΉΠ», Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ, Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² Π½ΡΠΆΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΡΡΠ°Π²ΠΈΡΡ ΡΡΠ»ΡΠΊ. ΠΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ (ΡΠΈΡ. 7.4).
Π ΠΈΡ. 7.4. ΠΠΊΠ½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²
Π ΡΡΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°ΠΉΠ»Π΅ ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠ΅. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π°, Π΄Π°ΡΡ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ Π°ΡΡΠΈΠ±ΡΡΡ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ.
ΠΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ Form_Load. ΠΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΎΡΠΌΡ MainForm ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΠ΄, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 7.9.
ΠΠΈΡΡΠΈΠ½Π³ 7.9ListViewHelper.SetGradient(listView);
string bs = Path.DirectorySeparatorChar.ToString();
// Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ
this.path = bs + "My Documents" + bs;
// ΠΠ°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΠΏΠΎΠΊ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²
fillList();
Π‘Π½Π°ΡΠ°Π»Π° ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° listView Ρ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ½ΠΎΠΉ Π·Π°ΠΊΡΠ°ΡΠΊΠΎΠΉ ΡΠΎΠ½Π°. ΠΠ°ΡΠ΅ΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠ°ΠΏΠΊΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ My Documents, ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅. ΠΠ΅ΡΠΎΠ΄ fillList Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ListView ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ. Π‘Π°ΠΌ ΠΊΠΎΠ΄ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 7.10.
ΠΠΈΡΡΠΈΠ½Π³ 7.10/// <summary>
/// ΠΠ°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ListView ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΏΠ°ΠΏΠΎΠΊ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²
/// </summary>
private void fillList() {
Cursor.Current = Cursors.WaitCursor;
// ΠΠ°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ListView ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΏΠ°ΠΏΠΎΠΊ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²
// Π² Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅
ListViewItem lvi;
listView.BeginUpdate();
listView.Items.Clear();
// ΠΡΠ»ΠΈ Π½Π΅ ΠΊΠΎΡΠ½Π΅Π²Π°Ρ ΠΏΠ°ΠΏΠΊΠ°
if (path.Length > 1) {
// ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΏΠ°ΠΏΠΊΡ "ΠΠ²Π΅ΡΡ "
lvi = new ListViewItem(UPDIR);
lvi.ImageIndex = 0;
listView.Items.Add(lvi);
}
// ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΏΠ°ΠΏΠΊΠΈ
string[] dirs = Directory.GetDirectories(path);
ArrayList list = new ArrayList(dirs.Length);
for(int i = 0; i < dirs.Length; i++)
list.Add(dirs[i]);
list.Sort(new SimpleComparer());
foreach(string dir in list) {
lvi = new ListViewItem(Path.GetFileName(dir));
lvi.ImageIndex = 0;
listView.Items.Add(lvi);
}
// ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Ρ
string[] files = Directory.GetFiles(path);
list = new ArrayList(files.Length);
for(int i = 0; i < files.Length; i++)
list.Add(files[i]);
list.Sort(new SimpleComparer());
foreach(string file in list) {
lvi = new ListViewItem(Path.GetFileName(file));
lvi.ImageIndex = 1;
listView.Items.Add(lvi);
}
listView.EndUpdate();
if (listView.Items.Count > 0) {
// Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ
listView.Items[0].Selected = true;
listView.Items[0].Focused = true;
}
Cursor.Current = Cursors.Default;
}
ΠΡΠ°ΠΊ, ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ fillList. ΠΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π°Π΄ΠΎ ΠΎΡΠΈΡΡΠΈΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° Clear. ΠΠΎΡΠ»Π΅ ΠΎΡΠΈΡΡΠΊΠΈ ΡΠΏΠΈΡΠΊΠ° Π½Π°Π΄ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΏΠ°ΠΏΠΊΠ° ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ. ΠΡΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠ° Π½Π΅ ΠΊΠΎΡΠ½Π΅Π²Π°Ρ, ΡΠΎ Π² ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΏΠ°ΠΏΠΊΠ° Β«ΠΠ° ΠΎΠ΄ΠΈΠ½ ΡΡΠΎΠ²Π΅Π½Ρ Π²ΡΡΠ΅Β». ΠΠ°ΡΠ΅ΠΌ Π² ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π²ΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ Π² ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½Π°ΡΡΡΠΏΠ°Π΅Ρ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ½ΠΈ ΡΠΎΡΡΠΈΡΡΡΡΡΡ ΠΈ Π·Π°Π½ΠΎΡΡΡΡΡ Π² ΡΠΏΠΈΡΠΎΠΊ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΠΈΡΠΊΠ° Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ²Π΅ΡΠΎΠΌ. ΠΠ°ΠΎΠ΄Π½ΠΎ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠΊΡΡ Π²Π²ΠΎΠ΄Π°. ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠ°ΠΌ ΠΈ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Action. ΠΠΎΠ΄ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 7.11.
ΠΠΈΡΡΠΈΠ½Π³ 7.11/// <summary>
/// ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠ°ΠΌ ΠΈ ΡΠ°ΠΉΠ»Π°ΠΌ
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void listView_ItemActivate(object sender, System.EventArgs e) {
Cursor.Current = Cursors.WaitCursor;
ListViewItem lvi = listView.Items[listView.SelectedIndices[0]];
bool isFolder = lvi.ImageIndex == 0;
if (lvi.Text == UPDIR) {
path = path.Substring(0,
path.Substring(0,
path.Length - 1).LastIndexOf(Path.DirectorySeparatorChar) + 1);
fillList();
} else if (isFolder) {
path += lvi.Text + Path.DirectorySeparatorChar;
fillList();
} else
ShellExecute.Start(path + lvi.Text);
Cursor.Current = Cursors.Default;
}
ΠΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΏΡΠ½ΠΊΡΠ΅. ΠΡΠ»ΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΏΠ°ΠΏΠΊΠ° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΡΠΎΠ²Π΅Π½Ρ Π²ΡΡΠ΅, ΡΠΎ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΡΡΡ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΠΊ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅. ΠΡΠ»ΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π° ΠΏΠ°ΠΏΠΊΠ°, ΡΠΎ ΠΏΡΡΡ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° ΠΏΡΡΡ ΠΊ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅. ΠΡΠ»ΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ ΡΠ°ΠΉΠ», ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΡΠ°Π΅ΡΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠ΅Π½Ρ. ΠΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΡΡΠ΅Π·Π°ΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 7.12.
ΠΠΈΡΡΠΈΠ½Π³ 7.12private void cutMenuItem_Click(object sender, System.EventArgs e) {
ListViewItem lvi =
listView.Items[listView.SelectedIndices[0]];
clipboardFileName = this.path + lvi.Text;
clipboardAction = ClipboardAction.Cut;
}
ΠΡΡΡ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ. ΠΠΎΠ΄, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉΡΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ±ΠΎΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 7.13.
ΠΠΈΡΡΠΈΠ½Π³ 7.13private void copyMenuItem_Click(object sender, System.EventArgs e) {
ListViewItem lvi = listView.Items[listView.SelectedIndices[0]];
clipboardFileName = path + lvi.Text;
clipboardAction = ClipboardAction.Copy;
}
ΠΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠ΅Π½Ρ ΠΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅ΡΡΡ. ΠΠ½ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 7.14.
ΠΠΈΡΡΠΈΠ½Π³ 7.14private void pasteMenuItem_Click(object sender, System.EventArgs e) {
// ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ
string dest = path + Path.GetFileName(clipboardFileName);
if (File.Exists(dest)) {
if (MessageBox.Show("Π€Π°ΠΉΠ» ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°ΡΡ?", this.Text,
MessageBoxButtons.YesNo, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2) == DialogResult.Yes)
File.Delete(dest);
else return;
}
// ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌ ΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ
string s = path.Substring(0, path.Length - 1);
switch(clipboardAction) {
case ClipboardAction.Cut:
File.Move(clipboardFileName, dest);
break;
case ClipboardAction.Copy:
File.Copy(clipboardFileName, dest, false);
break;
}
clipboardAction = ClipboardAction.None;
clipboardFileName = string.Empty;
fillList();
}