سؤال

أحاول تعيين العلامة التي تسبب Read Only خانة الاختيار لتظهر عندما right click \ Properties على ملف.

شكرًا!

هل كانت مفيدة؟

المحلول

وهناك طريقتان:

System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath);
fileInfo.IsReadOnly = true/false;

أو

// Careful! This will clear other file flags e.g. FileAttributes.Hidden
File.SetAttributes(filePath, FileAttributes.ReadOnly/FileAttributes.Normal);

والخاصية IsReadOnly على FileInfo لا أساسا عملتم للقيام يدويا في الطريقة الثانية. التقليب قليلا

نصائح أخرى

ل تعيين علامة القراءة فقط، مما يجعل الملف غير قابل للكتابة:

File.SetAttributes(filePath,
    File.GetAttributes(filePath) | FileAttributes.ReadOnly);

ل يزيل علامة القراءة فقط، مما يجعل الملف قابلاً للكتابة:

File.SetAttributes(filePath,
    File.GetAttributes(filePath) & ~FileAttributes.ReadOnly);

ل تبديل علامة القراءة فقط، مما يجعلها عكس ما هي عليه الآن:

File.SetAttributes(filePath,
    File.GetAttributes(filePath) ^ FileAttributes.ReadOnly);

هذا هو في الأساس أقنعة نقطية سارية المفعول.يمكنك تعيين بت معين لتعيين علامة للقراءة فقط، ويمكنك مسحها لإزالة العلامة.

لاحظ أن الكود أعلاه لن يغير أي خصائص أخرى للملف.بمعنى آخر، إذا كان الملف مخفيًا قبل تنفيذ التعليمات البرمجية أعلاه، فسيظل مخفيًا بعد ذلك أيضًا.إذا قمت ببساطة بتعيين سمات الملف على .Normal أو .ReadOnly قد ينتهي بك الأمر إلى فقدان الأعلام الأخرى في هذه العملية.

وج #:

وFile.SetAttributes (أسم دليل، FileAttributes.Normal)؛

وFile.SetAttributes (أسم دليل، FileAttributes.ReadOnly)؛

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top