簡體   English   中英

命名空間“System.Windows”中不存在類型或命名空間名稱“Forms”修復

[英]The type or namespace name 'Forms' does not exist in the namespace 'System.Windows' FIX

有人可以幫我解決這個問題嗎,我正在嘗試使用 System.Windows.Forms 中的 OpenFileDialog class 打開文件對話框並讀取所選文件。 然后,這個錯誤出現了。 我已經引用了它但仍然相同,下面是代碼。

`使用 UnityEngine 使用 UnityEngine.UI 使用 System.Windows.Forms;

公共 class OpenFileButtonScript: MonoBehaviour { 公共 TextFieldScript textFieldScript;

public void OpenFile()
{
    OpenFileDialog openFileDialog = new OpenFileDialog();
    openFileDialog.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*";
    openFileDialog.FilterIndex = 1;
    openFileDialog.Multiselect = false;

    if (openFileDialog.ShowDialog() == DialogResult.OK)
    {
        string filePath = openFileDialog.FileName;
        string text = System.IO.File.ReadAllText(filePath);
        textFieldScript.inputField.text = text;
    }
}

}`

看起來您可以訪問所有本機 Window 系統庫,但它看起來就是這樣。 實際上,很多時候你只是簡單地得到了存根或墊片,它們看起來像完整的 Window 庫,因為 Unity 想要使用這些命名空間中的某個元素。 如果您考慮一下,您上面顯示的代碼,您認為它應該在 Android 或任天堂設備上做什么? 簡單的答案是,它根本行不通。

通常在這種情況下,您必須獲得對本機操作系統的訪問權限,並直接執行這些調用。 例如,Asset Store 上有一個文件瀏覽器資產,可以為您執行此操作。 它不是免費的,因為這個過程並不簡單。

根據您想付出的努力,您可以從本地文件存儲中讀取文件(根據平台的不同程度)。 可以讀取某個位置的文件列表,並使用 uGUI 或 UIToolkit 創建您自己的文件打開對話框。 同樣,這也不是一項微不足道的任務。 所以你必須確定你想要 go 沿着那條路走下去。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM