91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現Unity C# GetSaveFileName()

發布時間:2020-07-14 16:58:13 來源:億速云 閱讀:397 作者:Leah 欄目:編程語言

如何實現Unity C# GetSaveFileName()?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

先放個效果圖:

如何實現Unity C# GetSaveFileName()

首先需要定義一個OpenFileName的類:

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]

public class OpenFileName
{
	public int structSize = 0;
	public IntPtr dlgOwner = IntPtr.Zero;
	public IntPtr instance = IntPtr.Zero;
	public String filter = null;
	public String customFilter = null;
	public int maxCustFilter = 0;
	public int filterIndex = 0;
	public String file = null;
	public int maxFile = 0;
	public String fileTitle = null;
	public int maxFileTitle = 0;
	public String initialDir = null;
	public String title = null;
	public int flags = 0;
	public short fileOffset = 0;
	public short fileExtension = 0;
	public String defExt = null;
	public IntPtr custData = IntPtr.Zero;
	public IntPtr hook = IntPtr.Zero;
	public String templateName = null;
	public IntPtr reservedPtr = IntPtr.Zero;
	public int reservedInt = 0;
	public int flagsEx = 0;
}

  當然,也不是都用到了,只用到了一小部分,有性趣的童鞋可以個性化一下保存對話框,

然后是最重要的委托GetSaveName()方法:

public class DllUse
{
	[DllImport("Comdlg32.dll", SetLastError = true, ThrowOnUnmappableChar = true, CharSet = CharSet.Auto)]
	public static extern bool GetSaveFileName([In, Out] OpenFileName ofn);
}

  擋擋擋,最后調用一下即可:

public static void OpenDialog(Action<Stream> onSave)
    {
        OpenFileName ofn = new OpenFileName();
        ofn.structSize = Marshal.SizeOf(ofn);
    
        ofn.filter = "Excel (*.xls)\0*.xls\0\0";
        ofn.file = new string(new char[256]);
        ofn.maxFile = ofn.file.Length;
        ofn.fileTitle = new string(new char[64]);
        ofn.maxFileTitle = ofn.fileTitle.Length;
        ofn.initialDir = UnityEngine.Application.dataPath;//默認路徑ofn.title = "保存文件";
        ofn.defExt = ".xls";//顯示文件的類型ofn.flags = 0x00080000 | 0x00001000 | 0x00000800 | 0x00000200 | 0x00000008;if (DllTest.GetSaveFileName(ofn))
        {
            dosomething();string Savepath = Path.GetDirectoryName (ofn.file);
            Process.Start (Savepath);
        }
    }

如何實現Unity C# GetSaveFileName()

如何實現Unity C# GetSaveFileName()

看完上述內容,你們掌握如何實現Unity C# GetSaveFileName()的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁夏| 丰原市| 台东市| 陆丰市| 西宁市| 观塘区| 文水县| 静安区| 晋中市| 吉隆县| 营口市| 汉中市| 双城市| 民乐县| 商城县| 深泽县| 鄂州市| 辽宁省| 道孚县| 疏附县| 仙游县| 长沙市| 合阳县| 宁强县| 巍山| 定边县| 文水县| 龙江县| 滕州市| 玉林市| 获嘉县| 新泰市| 莒南县| 西丰县| 普洱| 长沙市| 通州区| 红桥区| 长岛县| 大城县| 安阳市|