public override bool SaveFileDialog(SaveFileDialogParams saveParams, SaveFileDialogDelegate callback) { WidgetForWindowsFormsAbstract.MainWindowsFormsWindow.ShowingSystemDialog = true; SaveFileDialogParams SaveFileDialogDialogParams = saveParams; SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.InitialDirectory = SaveFileDialogDialogParams.InitialDirectory; saveFileDialog1.Filter = saveParams.Filter; saveFileDialog1.FilterIndex = saveParams.FilterIndex; saveFileDialog1.RestoreDirectory = true; saveFileDialog1.AddExtension = true; saveFileDialog1.FileName = saveParams.FileName; saveFileDialog1.Title = saveParams.Title; saveFileDialog1.ShowHelp = false; saveFileDialog1.OverwritePrompt = true; saveFileDialog1.CheckPathExists = true; saveFileDialog1.SupportMultiDottedExtensions = true; saveFileDialog1.ValidateNames = false; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { SaveFileDialogDialogParams.FileName = saveFileDialog1.FileName; } WidgetForWindowsFormsAbstract.MainWindowsFormsWindow.ShowingSystemDialog = false; UiThread.RunOnIdle((object state) => { callback(saveParams); }); return(true); }
public override bool SaveFileDialog(SaveFileDialogParams saveParams, SaveFileDialogDelegate callback) { WidgetForWindowsFormsAbstract.MainWindowsFormsWindow.ShowingSystemDialog = true; SaveFileDialogParams SaveFileDialogDialogParams = saveParams; SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.InitialDirectory = SaveFileDialogDialogParams.InitialDirectory; saveFileDialog1.Filter = saveParams.Filter; saveFileDialog1.FilterIndex = saveParams.FilterIndex; saveFileDialog1.RestoreDirectory = true; saveFileDialog1.AddExtension = true; saveFileDialog1.FileName = saveParams.FileName; saveFileDialog1.Title = saveParams.Title; saveFileDialog1.ShowHelp = false; saveFileDialog1.OverwritePrompt = true; saveFileDialog1.CheckPathExists = true; saveFileDialog1.SupportMultiDottedExtensions = true; saveFileDialog1.ValidateNames = false; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { SaveFileDialogDialogParams.FileName = saveFileDialog1.FileName; } WidgetForWindowsFormsAbstract.MainWindowsFormsWindow.ShowingSystemDialog = false; UiThread.RunOnIdle(() => { callback(saveParams); }); return true; }
static void Init() { if (!inited) { #if UNITY_STANDALONE_WIN || UNITY_METRO string path = UnityEngine.Application.dataPath + "/Plugins/"; #if UNITY_EDITOR path += "x86/"; #endif if (LoadLibrary(path + "msvcr100.dll") == IntPtr.Zero) { Text.Error("failed to load msvcr100"); } IntPtr lib = LoadLibrary(path + "FileDialogs.dll"); if (lib == IntPtr.Zero) { Text.Error("Failed to load FileDialogs"); return; } IntPtr proc = GetProcAddress(lib, "OpenFileDialog"); OpenFileDialog = (OpenFileDialogDelegate)Marshal.GetDelegateForFunctionPointer(proc, typeof(OpenFileDialogDelegate)); proc = GetProcAddress(lib, "SaveFileDialog"); SaveFileDialog = (SaveFileDialogDelegate)Marshal.GetDelegateForFunctionPointer(proc, typeof(SaveFileDialogDelegate)); #elif UNITY_STANDALONE_OSX OsVersionChecker checker = new OsVersionChecker(); if (checker.currentVersion == OsVersion.SnowLeopard) { OpenFileDialog = OSX_PreLion.OpenFileDialog; SaveFileDialog = OSX_PreLion.SaveFileDialog; } else { OpenFileDialog = OSX_PostLion.OpenFileDialog; SaveFileDialog = OSX_PostLion.SaveFileDialog; } #endif inited = true; } }
public abstract bool SaveFileDialog(SaveFileDialogParams saveParams, SaveFileDialogDelegate callback);
/// <summary> /// 부재중 전송파일 리스트 폼에서 아이템 클릭시 해당 파일 수신 준비 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void File_ItemSelectionChanged(object sender, EventArgs e) { try { ListView view = (ListView)sender; ListViewItem mitem = view.SelectedItems[0]; string filenum = mitem.Tag.ToString(); string filename = mitem.SubItems[1].Text; int filesize = Convert.ToInt32(mitem.SubItems[4].Text); DialogResult result = MessageBox.Show("서버로 부터 다음과 같은 파일을 받으시겠습니까?\r\n\r\n 파일명 : " + filename, "파일전송", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { SaveFileDialogDelegate save = new SaveFileDialogDelegate(ShowSaveFileDialog); string savefilename = (string)Invoke(save, filename); Hashtable info = new Hashtable(); info["filename"] = savefilename; info["filesize"] = filesize; logWrite(filesize.ToString()); Thread file = new Thread(new ParameterizedThreadStart(FileReceiver)); file.IsBackground = true; file.Start((object)info); SendMsg("12|" + this.myid + "|" + filenum, server); SendMsg("14|" + mitem.ToolTipText, server); view.SelectedItems[0].Remove(); int mnum = Convert.ToInt32(NRfile.Text); if (mnum != 0) { NRfile.Text = (mnum - 1).ToString(); } } } catch (Exception exception) { logWrite(exception.ToString()); } }
/// <summary> /// 서버에서 파일수신(부재중 전송파일 리스트 폼) /// </summary> /// <param name="rowIndex"></param> private void delNRfile(int rowIndex) { try { DataGridViewRow row = noreceiveboardform.dgv_file.Rows[rowIndex]; string filenum = row.Tag.ToString(); string filename = row.Cells[0].Value.ToString(); int filesize = Convert.ToInt32(row.Cells[1].Value.ToString()); DialogResult result = MessageBox.Show("서버로 부터 다음과 같은 파일을 받으시겠습니까?\r\n\r\n 파일명 : " + filename, "파일전송", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { SaveFileDialogDelegate save = new SaveFileDialogDelegate(ShowSaveFileDialog); string savefilename = (string)Invoke(save, filename); Hashtable info = new Hashtable(); info["filename"] = savefilename; info["filesize"] = filesize; info["filenum"] = filenum; info["rowindex"] = rowIndex; info["NRseq"] = row.ErrorText; logWrite("파일사이즈 : " + filesize.ToString()); Thread file = new Thread(new ParameterizedThreadStart(FileReceiver)); file.Start((object)info); SendMsg("12|" + this.myid + "|" + filenum, server); } } catch (Exception ex) { logWrite(ex.ToString()); } }