次の方法で共有


OpenFileDialog.ReadOnlyChecked プロパティ

定義

読み取り専用チェック ボックスがオンかオフかを示す値を取得または設定します。

public:
 property bool ReadOnlyChecked { bool get(); void set(bool value); };
public bool ReadOnlyChecked { get; set; }
member this.ReadOnlyChecked : bool with get, set
Public Property ReadOnlyChecked As Boolean

プロパティ値

読み取り専用チェック ボックスがオンの場合は true。それ以外の場合は false。 既定値は false です。

次のコード例では、 プロパティの使用方法を ReadOnlyChecked 示します。 次の使用例は、 プロパティが OpenFileDialog に設定された ShowReadOnly ボックスを true表示します。 ユーザーがオプションをクリックしてファイルを読み取り専用モードで開くと、 ReadOnlyChecked プロパティは に true評価され、 OpenFile メソッドを使用してファイルが開かれます。 それ以外の場合は、 クラスを FileStream 使用してファイルを読み取り/書き込みモードで開きます。

private:
   FileStream^ OpenFile()
   {
      // Displays an OpenFileDialog and shows the read/only files.
      OpenFileDialog^ dlgOpenFile = gcnew OpenFileDialog;
      dlgOpenFile->ShowReadOnly = true;
      if ( dlgOpenFile->ShowDialog() == ::DialogResult::OK )
      {
         // If ReadOnlyChecked is true, uses the OpenFile method to
         // open the file with read/only access.
         if ( dlgOpenFile->ReadOnlyChecked )
         {
            return dynamic_cast<FileStream^>(dlgOpenFile->OpenFile());
         }
         // Otherwise, opens the file with read/write access.
         else
         {
            String^ path = dlgOpenFile->FileName;
            return gcnew FileStream( path,System::IO::FileMode::Open,System::IO::FileAccess::ReadWrite );
         }
      }

      return nullptr;
   }
private FileStream OpenFile()
{
    // Displays an OpenFileDialog and shows the read/only files.

    OpenFileDialog dlgOpenFile = new OpenFileDialog();
    dlgOpenFile.ShowReadOnly = true;

    if(dlgOpenFile.ShowDialog() == DialogResult.OK)
    {

        // If ReadOnlyChecked is true, uses the OpenFile method to
        // open the file with read/only access.
        string path = null;

        try {
            if (dlgOpenFile.ReadOnlyChecked)
            {
                return (FileStream)dlgOpenFile.OpenFile();
            }

            // Otherwise, opens the file with read/write access.
            else
            {
                path = dlgOpenFile.FileName;
                return new FileStream(path, System.IO.FileMode.Open,
                            System.IO.FileAccess.ReadWrite);
            }
        } catch (SecurityException ex)
            {
                // The user lacks appropriate permissions to read files, discover paths, etc.
                MessageBox.Show("Security error. Please contact your administrator for details.\n\n" +
                    "Error message: " + ex.Message + "\n\n" +
                    "Details (send to Support):\n\n" + ex.StackTrace
                );
            }
            catch (Exception ex)
            {
                // Could not load the image - probably related to Windows file system permissions.
                MessageBox.Show("Cannot display the image: " + path.Substring(path.LastIndexOf('\\'))
                    + ". You may not have permission to read the file, or " +
                    "it may be corrupt.\n\nReported error: " + ex.Message);
            }
    }

    return null;
}

Private Function OpenFile() As FileStream

    ' Displays an OpenFileDialog and shows the read/only files.

    Dim DlgOpenFile As New OpenFileDialog()
    DlgOpenFile.ShowReadOnly = True

    If DlgOpenFile.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
        Dim path As New String("")

        ' If ReadOnlyChecked is true, uses the OpenFile method to
        ' open the file with read/only access.
        Try
            If (DlgOpenFile.ReadOnlyChecked = True) Then
                Return DlgOpenFile.OpenFile()
            Else
                ' Otherwise, opens the file with read/write access.
                Path = DlgOpenFile.FileName
                Return New FileStream(Path, System.IO.FileMode.Open, _
                        System.IO.FileAccess.ReadWrite)
            End If
        Catch SecEx As SecurityException
            ' The user lacks appropriate permissions to read files, discover paths, etc.
            MessageBox.Show("Security error. Please contact your administrator for details.\n\n" & _
                "Error message: " & SecEx.Message * "\n\n" & _
                "Details (send to Support):\n\n" & SecEx.StackTrace)
        Catch Ex As Exception
            ' Could not load the image - probably related to Windows file system permissions.
            MessageBox.Show("Cannot display the image: " & path.Substring(path.LastIndexOf("\\")) & _
                     ". You may not have permission to read the file, or " & _
                    "it may be corrupt.\n\nReported error: " + ex.Message)
        End Try
    End If

    Return Nothing
End Function

注釈

この状態は ReadOnlyChecked 、ダイアログ ボックスで選択したファイルを開くために使用する OpenFileDialog.OpenFile 読み取り/書き込みモードには影響しません。 OpenFile は常にファイルを読み取り専用モードで開きます。

ShowReadOnly読み取り専用チェック ボックスをダイアログ ボックスに表示するには、 プロパティを前に設定する必要があります。

適用対象

こちらもご覧ください