技巧:.net中的特殊对话框调用(数据库选择对话框&目录选择对话框)

作者:whxbb

**

数据库选择对话框。

**

using System;

using System.Windows.Forms;

namespace Whxbb.Windows.Forms
{
///

1<summary>   
2/// 数据库选择对话框。   
3/// </summary>

public class ChooseDatabaseDialog
{
private string _connectionString = String.Empty;
///

1<summary>   
2/// 获取数据库连接字符串。   
3/// </summary>

public string ConnectionString
{
get
{
if (_connectionString == string.Empty && _connectionString != "")
{
return _connectionString;
}
else
{
string[] tmp = _connectionString.Split(';');
System.Text.StringBuilder sb = new System.Text.StringBuilder();
for(int i = 1; i < tmp.Length; i++)
{
if (i != 1)
sb.Append(";" + tmp[i]);
else
sb.Append(tmp[i]);
}
return sb.ToString();
}

}
}

private MSDASC.DataLinks _dataLinks;
private ADODB.Connection _connection;

///

1<summary>   
2/// 无参数构造方法。   
3/// </summary>

public ChooseDatabaseDialog()
{
_dataLinks = new MSDASC.DataLinksClass();
}

///

1<summary>   
2/// 显示对话框。   
3/// </summary>

///

1<returns></returns>

public DialogResult ShowDialog()
{
try
{
_connection = new ADODB.ConnectionClass();
//_connection = (ADODB.Connection)_dataLinks.PromptNew();
_connection.Provider = "SQLOLEDB.1";

object obj = _connection as object;
_dataLinks.PromptEdit(ref obj);
if (_connection == null)
{
return DialogResult.Cancel;
}
else
{
_connectionString = _connection.ConnectionString;
if (_connectionString == "" || _connectionString == null)
{

return DialogResult.Cancel;
}
else
{
return DialogResult.OK;
}
}
}
catch (Exception e)
{
return DialogResult.Abort;
}
}
}

}

**

目录选择对话框。

**

using System;
using System.Windows.Forms;
using System.Windows.Forms.Design;

namespace Whxbb.Windows.Forms
{
///

1<summary>   
2/// 目录选择对话框。   
3/// </summary>

public class ChooseDirectoryDialog : FolderNameEditor
{
private FolderBrowser _browser;

private string _description = "Choose Directory";
public string Description
{
set { _description = value; }
get { return _description; }
}

private string _choosedPath = string.Empty;
///

1<summary>   
2/// 被选择的目录。   
3/// </summary>

public string ChoosedPath
{
get { return _choosedPath; }
}

private string _defaultPath = string.Empty;
///

1<summary>   
2/// 默认路径。   
3/// </summary>

public string DefaultPath
{
get { return _defaultPath; }
set
{
_browser.StartLocation = FolderBrowserFolder.MyComputer;
_defaultPath = value;
}
}

///

1<summary>   
2/// 无参数构造方法。   
3/// </summary>

public ChooseDirectoryDialog()
{
_browser = new FolderBrowser();
}

///

1<summary>   
2/// 指定对话框描述创建一个对话框实例。   
3/// </summary>

///

1<param name="dialogTitle"/>

public ChooseDirectoryDialog(string description) : this()
{
this._description = description;
}

///

1<summary>   
2/// 显示对话框。   
3/// </summary>

///

1<returns></returns>

public DialogResult ShowDialog()
{
_browser.Description = this.Description;
_browser.Style = FolderBrowserStyles.ShowTextBox;
_browser.StartLocation = FolderBrowserFolder.MyComputer;

DialogResult result = _browser.ShowDialog();
if (result == DialogResult.OK)
{
_choosedPath = _browser.DirectoryPath;
}
else
{
_choosedPath = String.Empty;
}

return result;
}
}
}

Published At
Categories with Web编程
Tagged with
comments powered by Disqus