public FormFileInfo(string path) { #if UNITY_STANDALONE Size = new Drawing.Size(320, 120); Location = new Point(Screen.PrimaryScreen.WorkingArea.Width / 2 - Width / 2, Screen.PrimaryScreen.WorkingArea.Height / 2 - Height / 2); FormBorderStyle = FormBorderStyle.FixedSingle; Text = "Properties: "; if (global::System.IO.File.Exists(path) == false) { return; } var info = new global::System.IO.FileInfo(path); var bytes = info.Length; string sbytes = bytes.ToString() + " bytes"; if (bytes >= 1000000000) { sbytes = (bytes / 1000000000) + " gb"; } if (bytes >= 1000000) { sbytes = (bytes / 1000000) + " mb"; } else if (bytes >= 1000) { sbytes = (bytes / 1000) + " kb"; } Label labelSize = new Label(); labelSize.Location = new Point(16, 32); labelSize.Text = "Size: " + sbytes; Controls.Add(labelSize); Label labelCreationDate = new Label(); labelCreationDate.Location = new Point(16, 64); labelCreationDate.Text = "Date creation: " + info.CreationTime.ToString("dd.MM.yyyy"); Controls.Add(labelCreationDate); Label labelModDate = new Label(); labelModDate.Location = new Point(16, 86); labelModDate.Text = "Date modified: " + info.LastWriteTime.ToString(); Controls.Add(labelModDate); string fileName = global::System.IO.Path.GetFileName(path); Text += fileName; #endif }
internal FileDialog() { #if !UNITY_STANDALONE && !UNITY_ANDROID throw new NotSupportedException(); #endif BackColor = Color.White; Filter = "All files|*.*"; MinimumSize = new Drawing.Size(240, 240); KeyPreview = true; Padding = new Padding(12, 12, 12, 12); SizeGripStyle = SizeGripStyle.Show; Text = "File Dialog"; handleFormSize = false; Size = savedFormSize; handleFormSize = true; #region Button Back. buttonBack = new Button(); buttonBack.BackgroundImageLayout = ImageLayout.Center; buttonBack.Enabled = false; buttonBack.Font = new Drawing.Font("Arial", 16, FontStyle.Bold); buttonBack.Image = FolderNavBack; buttonBack.Location = new Point(Padding.Left, uwfHeaderHeight + Padding.Top); buttonBack.BackColor = Color.Transparent; buttonBack.uwfBorderColor = Color.Transparent; buttonBack.Size = new Size(22, 22); if (buttonBack.Image == null) { buttonBack.Text = "◀"; } buttonBack.Click += (sender, args) => ButtonBack(); Controls.Add(buttonBack); ToolTip buttonBackTooltip = new ToolTip(); buttonBackTooltip.SetToolTip(buttonBack, "Back (ALT + Left Arrow)"); #endregion ; #region Button Up. buttonUp = new Button(); buttonUp.BackgroundImageLayout = ImageLayout.Center; buttonUp.Font = new Drawing.Font("Arial", 16, FontStyle.Bold); buttonUp.Image = FolderNavUp; buttonUp.Location = new Point(buttonBack.Location.X + buttonBack.Width + 8, buttonBack.Location.Y); buttonUp.BackColor = Color.Transparent; buttonUp.uwfBorderColor = Color.Transparent; buttonUp.Size = new Drawing.Size(22, 22); if (buttonUp.Image == null) { buttonUp.Text = "▲"; } buttonUp.Click += (sender, args) => ButtonUp(); Controls.Add(buttonUp); ToolTip buttonUpTooltip = new ToolTip(); buttonUpTooltip.SetToolTip(buttonUp, "Up (ALT + Up Arrow)"); #endregion #region Button Refresh. buttonRefresh = new Button(); buttonRefresh.Anchor = AnchorStyles.Top | AnchorStyles.Right; buttonRefresh.Image = FolderNavRefresh; buttonRefresh.uwfImageColor = Color.FromArgb(64, 64, 64); buttonRefresh.uwfImageHoverColor = buttonRefresh.uwfImageColor; buttonRefresh.BackColor = Color.Transparent; buttonRefresh.uwfBorderColor = Color.Transparent; buttonRefresh.Size = new Size(22, 22); buttonRefresh.Location = new Point(Width - Padding.Right - buttonRefresh.Width, buttonUp.Location.Y); buttonRefresh.Click += (sender, args) => ButtonRefresh(); if (buttonRefresh.Image == null) { buttonRefresh.Text = "R"; } Controls.Add(buttonRefresh); ToolTip buttonRefreshTooltip = new ToolTip(); buttonRefreshTooltip.SetToolTip(buttonRefresh, "Refresh (F5)"); #endregion #region Textbox Path. textBoxPath = new PathTextBox(this); textBoxPath.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; textBoxPath.Font = new Drawing.Font("Arial", 14); textBoxPath.Location = new Point(buttonUp.Location.X + buttonUp.Width + 8, buttonUp.Location.Y); textBoxPath.Size = new Drawing.Size(Width - textBoxPath.Location.X - Padding.Right - buttonRefresh.Width - 8, buttonBack.Height); Controls.Add(textBoxPath); #endregion #region Button Cancel. buttonCancel = new Button(); buttonCancel.Anchor = AnchorStyles.Right | AnchorStyles.Bottom; buttonCancel.Location = new Point(Width - Padding.Right - buttonCancel.Width, Height - Padding.Bottom - buttonCancel.Height); buttonCancel.Text = "Cancel"; buttonCancel.Click += (sender, args) => { DialogResult = global::UWinForms.System.Windows.Forms.DialogResult.Cancel; Close(); }; Controls.Add(buttonCancel); #endregion #region Button Ok. buttonOk = new Button(); buttonOk.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; buttonOk.Location = new Point(buttonCancel.Location.X - buttonOk.Width - 8, buttonCancel.Location.Y); buttonOk.Text = "Ok"; buttonOk.Click += (sender, args) => { OpenFile(); }; Controls.Add(buttonOk); #endregion #region Label Filename. labelFilename = new Label(); labelFilename.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; labelFilename.Location = new Point(8, buttonOk.Location.Y - 30); labelFilename.Size = new Drawing.Size(64, 22); labelFilename.Text = "File: "; labelFilename.TextAlign = ContentAlignment.MiddleRight; Controls.Add(labelFilename); #endregion #region Textbox Filename. textBoxFilename = new TextBox(); textBoxFilename.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; textBoxFilename.Location = new Point(labelFilename.Location.X + labelFilename.Width, labelFilename.Location.Y); textBoxFilename.Size = new Drawing.Size(Width - 32 - (buttonOk.Width + 8 + buttonCancel.Width) - labelFilename.Width, 22); Controls.Add(textBoxFilename); #endregion #region Combobox Filter. comboFilter = new ComboBox(); comboFilter.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; comboFilter.DropDownStyle = ComboBoxStyle.DropDownList; comboFilter.Size = new Drawing.Size(buttonOk.Width + 8 + buttonCancel.Width, 22); comboFilter.Location = new Point(Width - Padding.Right - comboFilter.Width, textBoxFilename.Location.Y); Controls.Add(comboFilter); #endregion #region File Render. fileRenderer = new FileRenderer(this); fileRenderer.Anchor = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom; fileRenderer.Location = new Point(Padding.Left, buttonBack.Location.Y + buttonBack.Height + 8); fileRenderer.Name = "fileRenderer"; fileRenderer.Size = new Drawing.Size(Width - Padding.Left - Padding.Right, textBoxFilename.Location.Y - buttonBack.Location.Y - buttonBack.Height - 16); fileRenderer.OnDirectoryChanged += () => { if (fileRenderer.prevPathes.Count > 0) { buttonBack.Enabled = true; } textBoxPath.Text = fileRenderer.currentPath; }; fileRenderer.OnSelectedFileChanged += (file) => { textBoxFilename.Text = file.ToString(); }; fileRenderer.OnFileOpen += (file) => { OpenFile(); }; Controls.Add(fileRenderer); #endregion textBoxPath.Text = fileRenderer.currentPath; textBoxPath.TextChanged += (sender, args) => { fileRenderer.SetDirectory(textBoxPath.Text); }; fileRenderer.filesTree.NodeMouseClick += filesTree_NodeMouseClick; AcceptButton = buttonOk; Shown += FileDialog_Shown; }