Skip to content

Commit 13d512a

Browse files
committed
Version 1.4.0
Added drag and drop to OpenFileDialog and FolderBrowseDialog
1 parent 6fe05bd commit 13d512a

8 files changed

Lines changed: 40 additions & 4 deletions

File tree

.hgignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ CodeArtEng.Controls/bin/Debug/CodeArtEng.Controls.dll
44
bin
55
*.suo
66
*.user
7+
.git*

CodeArtEng.Controls/FilePanel/FilePanelBase.Designer.cs

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CodeArtEng.Controls/FilePanel/FilePanelBase.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,5 +40,22 @@ private void textbox_TextChanged(object sender, EventArgs e)
4040
EventHandler eventHandler = TextChanged;
4141
if (eventHandler != null) eventHandler(this, null);
4242
}
43+
44+
private void textbox_DragDrop(object sender, DragEventArgs e)
45+
{
46+
string data = ((string[])e.Data.GetData(DataFormats.FileDrop))[0];
47+
textbox.Text = data;
48+
}
49+
50+
private void textbox_DragEnter(object sender, DragEventArgs e)
51+
{
52+
if (e.Data.GetDataPresent(DataFormats.FileDrop, false) == true)
53+
{
54+
if (ValidateDropData(((string[])e.Data.GetData(DataFormats.FileDrop))[0]))
55+
e.Effect = DragDropEffects.Link;
56+
}
57+
}
58+
59+
public virtual bool ValidateDropData(string filePath) { return true; }
4360
}
4461
}

CodeArtEng.Controls/FilePanel/FolderBrowsePanel.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Collections.Generic;
33
using System.Linq;
44
using System.Text;
5+
using System.IO;
56
using System.Windows.Forms;
67
using System.ComponentModel;
78

@@ -38,6 +39,13 @@ private void InitializeComponent()
3839

3940
}
4041

42+
public override bool ValidateDropData(string filePath)
43+
{
44+
FileAttributes attr = File.GetAttributes(filePath);
45+
if (attr.HasFlag(FileAttributes.Directory)) return true;
46+
else return false;
47+
}
48+
4149
private void btBrowse_Click(object sender, EventArgs e)
4250
{
4351
try { folderBrowserDialog1.SelectedPath = SelectedPath; }
@@ -51,7 +59,7 @@ private void btBrowse_Click(object sender, EventArgs e)
5159
/// <summary>
5260
/// Get or set selected directory
5361
/// </summary>
54-
[Category("File Panel")]
62+
[Category("Folder Panel")]
5563
public string SelectedPath
5664
{
5765
get { return textbox.Text; }

CodeArtEng.Controls/FilePanel/OpenFilePanel.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,13 @@ private void InitializeComponent()
4444

4545
}
4646

47+
public override bool ValidateDropData(string filePath)
48+
{
49+
FileAttributes attr = File.GetAttributes(filePath);
50+
if (attr.HasFlag(FileAttributes.Directory)) return false;
51+
else return true;
52+
}
53+
4754
private void btBrowse_Click(object sender, EventArgs e)
4855
{
4956
try

CodeArtEng.Controls/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,6 @@
3333
// You can specify all the values or you can default the Build and Revision Numbers
3434
// by using the '*' as shown below:
3535
// [assembly: AssemblyVersion("1.0.*")]
36-
[assembly: AssemblyVersion("1.3.1.0")]
37-
[assembly: AssemblyFileVersion("1.3.1.0")]
36+
[assembly: AssemblyVersion("1.4.0.0")]
37+
[assembly: AssemblyFileVersion("1.4.0.0")]
3838
[assembly: NeutralResourcesLanguageAttribute("en")]

CodeArtEng.ControlsTest/Form1.Designer.cs

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
2.47 KB
Binary file not shown.

0 commit comments

Comments
 (0)