人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

把昨天寫的東西的代碼公布出來。哎。。真惡心。

把昨天寫的東西的代碼公布出來。哎。。真惡心。

更新時間:2022-10-01 文章作者:未知 信息來源:網絡 閱讀次數:

非要自己寫。
算了。。大家自己看看吧。。不過我還是喜歡使用API。嘿嘿

目錄選擇對話框類
using System;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace Blood.Com.ClassLib
{
/// <summary>
/// 目錄對話框控件
/// </summary>
public class DirectoryDialog
{
[ StructLayout( LayoutKind.Sequential, CharSet=CharSet.Ansi )]
///<summary>
///瀏覽信息
///</summary>
public struct BROWSEINFO
{
public IntPtr hWndOwner;
public int pIDLRoot;
public string pszDisplayName;
public string lpszTitle;
public int ulFlags;
public int lpfnCallback;
public int lParam;
public int iImage;
}

private const int MAX_PATH = 260;
/// <summary>
/// 指定瀏覽類型
/// </summary>
public enum BrowseForTypes
{
/// <summary>
/// 瀏覽計算機
/// </summary>
Computers = 0x1000,
/// <summary>
/// 瀏覽目錄
/// </summary>
Directories = 0x1,
/// <summary>
/// 瀏覽目錄和文件
/// </summary>
/// <remarks>只能工作于4.71或更高的版本<remarks>
FilesAndDirectories = 0x4000, // 4.71版
/// <summary>
/// 瀏覽系統根目錄
/// </summary>
FileSystemAncestors = 0x8
}

[ DllImport( "ole32.dll")]
private static extern int CoTaskMemFree(IntPtr hMem);
[ DllImport( "kernel32.dll")]
private static extern IntPtr lstrcat(string lpString1, string lpString2);
[ DllImport( "shell32.dll")]
private static extern IntPtr SHBrowseForFolder(ref BROWSEINFO lpbi);
[ DllImport( "shell32.dll")]
private static extern int SHGetPathFromIDList(IntPtr pidList, StringBuilder lpBuffer);
/// <summary>
/// 顯示公共文件夾對話框
/// </summary>
/// <param name="hWndOwner">文件夾對話框所有者</param>
protected bool RunDialog(IntPtr hWndOwner)
{
BROWSEINFO udtBI = new BROWSEINFO();
IntPtr lpIDList;
GCHandle hTitle = GCHandle.Alloc(Title, GCHandleType.Pinned);
// 設置WINDOWS的所有者
udtBI.hWndOwner = hWndOwner;
// 設置WINDOWS的所有者
udtBI.lpszTitle =Title;
// 設置WINDOWS的所有者
udtBI.ulFlags= (int)BrowseFor;
// 創建一個字符串緩沖用來顯示名稱
StringBuilder buffer = new StringBuilder(MAX_PATH);
buffer.Length = MAX_PATH;
udtBI.pszDisplayName = buffer.ToString();
// 顯示瀏覽目錄對話框
lpIDList = SHBrowseForFolder(ref udtBI);
hTitle.Free();
if (lpIDList.ToInt64() != 0)
{
if (BrowseFor == BrowseForTypes.Computers)
{
m_Selected = udtBI.pszDisplayName.Trim();
}
else
{
StringBuilder path = new StringBuilder(MAX_PATH);
//從lpIDList中取得路徑
SHGetPathFromIDList(lpIDList, path);
m_Selected = path.ToString();
}
//釋放內存
CoTaskMemFree(lpIDList);
}
else
{
return false;
}
return true;
}
/// <summary>顯示公共文件夾對話框</summary>
public DialogResult ShowDialog()
{
return ShowDialog(null);
}
/// <summary>Shows the common folder dialog.</summary>
/// <param name="owner">The owner of the folder dialog.</param>
public DialogResult ShowDialog(IWin32Window owner)
{
IntPtr handle;
if (owner != null)
handle = owner.Handle;
else
handle = IntPtr.Zero;
if (RunDialog(handle))
{
return DialogResult.OK;
}
else
{
return DialogResult.Cancel;
}
}

/// <summary>
/// 指定對話框的標題
/// </summary>
/// <value>對話框標題</value>
/// <exceptions cref="ArgumentNullException">當值為null(VB.NET為Nothing)時拋出錯誤</exceptions>
public string Title
{
get
{
return m_Title;
}
set
{
if (value == null)
throw new ArgumentNullException();
m_Title = value;
}
}
/// <summary>返回選擇的項目</summary>
/// <value>選擇的項目</value>
public string Selected
{
get
{
return m_Selected;
}
}
/// <summary>指定瀏覽類型</summary>
/// <value>瀏覽類型</value>
public BrowseForTypes BrowseFor
{
get
{
return m_BrowseFor;
}
set
{
m_BrowseFor = value;
}
}
//申明私有變量
private BrowseForTypes m_BrowseFor = BrowseForTypes.Directories;
private string m_Title = "";
private string m_Selected = "";

/// <summary>
/// 構造函數
/// </summary>
public DirectoryDialog()
{
//
// TODO: 在此處添加構造函數邏輯
//
}
}
}

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 鄢陵县| 崇明县| 淮阳县| 留坝县| 东明县| 略阳县| 无为县| 呼图壁县| 翼城县| 大英县| 夏河县| 错那县| 乐亭县| 温泉县| 河西区| 德清县| 准格尔旗| 五莲县| 衡南县| 宝清县| 江阴市| 峨边| 泰安市| 视频| 巴青县| 乌拉特前旗| 宁蒗| 林口县| 北安市| 汉沽区| 绥棱县| 渝北区| 彰化市| 罗山县| 沾益县| 宾川县| 民丰县| 平泉县| 延寿县| 黎川县| 九龙坡区|