中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何實現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

电白县| 郎溪县| 沁源县| 青龙| 揭东县| 华容县| 通河县| 巢湖市| 车险| 麻江县| 鹰潭市| 佛坪县| 周宁县| 松桃| 济阳县| 横山县| 铁岭市| 江达县| 逊克县| 宜城市| 珠海市| 凭祥市| 甘孜县| 沾益县| 时尚| 海晏县| 台北县| 日土县| 南江县| 罗山县| 淮滨县| 阜宁县| 河间市| 芒康县| 黄石市| 乌拉特前旗| 泾阳县| 罗源县| 拉萨市| 乐清市| 庐江县|