14-10-12, 05:48 PM
Open And Save Dialogs :
اشهر نوعين من المربعات الحوارية ، في العادة يتم استخدامهم لتحديد عملية فتح الملفات أو تحديد مكان حفظها ، سنقوم بعمل مثال بسيط نقوم من خلال بفتح ملف نصي ، التعديل عليه ومن ثم حفظه :
اضف مربع نص بسيط واجعل خاصية Multiline=True ، ضف زر للحفظ وآخر للفتح ، وأخيراَ لن نقوم باضافة OpenFileDialog و SaveFileDialog بل سنضيفهم من خلال الكود مباشرة .
أول عملية لدينا هي استخدام المربع الحواري لتحديد الملفات النصية ومن ثم اختيار واحد منها :
C#:
vb.net:
الآن اصبح لدينا مسار الملف في متغير ، سنقوم بعملية وضع محتوياته في مربع نص بطريقة تعلمناها سابقاً :
C#:
vb.net:
الآن سنستخدم مربع حوار الحفظ لتحديد المكان الذي نود فيه حفظ الملف :
C#:
vb.net:
وكما تعلمنا سابقاً ، نقوم بحفظ الملف النصي في المسار الذي قام المستخدم باختياره :
C#:
vb.net:
هناك بعض الخصائص الاضافية لكلا الكائنين ، يمكنك الاطلاع على المزيد عنهما هنا :
http://msdn.microsoft.com/en-us/library/aa287592(VS.71).aspx
http://msdn.microsoft.com/en-us/library/system.windows.forms.savefiledialog.aspx
حيث يمكنك تحديد نوع من الملفات او قراءة اسم المجلد او اسم الملف فقط ، تحديد أكثر من ملف للفتح ... الخ .
اشهر نوعين من المربعات الحوارية ، في العادة يتم استخدامهم لتحديد عملية فتح الملفات أو تحديد مكان حفظها ، سنقوم بعمل مثال بسيط نقوم من خلال بفتح ملف نصي ، التعديل عليه ومن ثم حفظه :
اضف مربع نص بسيط واجعل خاصية Multiline=True ، ضف زر للحفظ وآخر للفتح ، وأخيراَ لن نقوم باضافة OpenFileDialog و SaveFileDialog بل سنضيفهم من خلال الكود مباشرة .
أول عملية لدينا هي استخدام المربع الحواري لتحديد الملفات النصية ومن ثم اختيار واحد منها :
C#:
كود :
string fileToOpen="";
OpenFileDialog openFile = new OpenFileDialog();
openFile.DefaultExt = "txt";
openFile.Filter = "Word documents (*.txt)|*.txt";
if (openFile.ShowDialog() == DialogResult.OK)
fileToOpen = openFile.FileName;vb.net:
كود :
Dim fileToOpen As String = ""
Dim openFile As New OpenFileDialog()
openFile.DefaultExt = "txt"
openFile.Filter = "Word documents (*.txt)|*.txt"
If openFile.ShowDialog() = DialogResult.OK Then
fileToOpen = openFile.FileName
End Ifالآن اصبح لدينا مسار الملف في متغير ، سنقوم بعملية وضع محتوياته في مربع نص بطريقة تعلمناها سابقاً :
C#:
كود :
if (fileToOpen != "")
{
using (System.IO.StreamReader s1 = System.IO.File.OpenText(fileToOpen))
{
string input = null;
textBox1.Text = "";
while ((input = s1.ReadLine()) != null)
{
textBox1.Text += input;
}
}
}vb.net:
كود :
If fileToOpen <> "" Then
Using s1 As System.IO.StreamReader = System.IO.File.OpenText(fileToOpen)
Dim input As String = Nothing
textBox1.Text = ""
While (input = s1.ReadLine()) IsNot Nothing
textBox1.Text += input
End While
End Using
End Ifالآن سنستخدم مربع حوار الحفظ لتحديد المكان الذي نود فيه حفظ الملف :
C#:
كود :
string fileToSave = "";
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
fileToSave = saveFileDialog1.FileName;vb.net:
كود :
Dim fileToSave As String = ""
Dim saveFileDialog1 As New SaveFileDialog()
saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
If saveFileDialog1.ShowDialog() = DialogResult.OK Then
fileToSave = saveFileDialog1.FileName
End Ifوكما تعلمنا سابقاً ، نقوم بحفظ الملف النصي في المسار الذي قام المستخدم باختياره :
C#:
كود :
if (fileToSave!="")
{
using (System.IO.StreamWriter w1 = System.IO.File.CreateText(fileToSave))
{
w1.WriteLine(textBox1.Text);
}
}vb.net:
كود :
If fileToSave <> "" Then
Using w1 As System.IO.StreamWriter = System.IO.File.CreateText(fileToSave)
w1.WriteLine(textBox1.Text)
End Using
End If
هناك بعض الخصائص الاضافية لكلا الكائنين ، يمكنك الاطلاع على المزيد عنهما هنا :
http://msdn.microsoft.com/en-us/library/aa287592(VS.71).aspx
http://msdn.microsoft.com/en-us/library/system.windows.forms.savefiledialog.aspx
حيث يمكنك تحديد نوع من الملفات او قراءة اسم المجلد او اسم الملف فقط ، تحديد أكثر من ملف للفتح ... الخ .
