精华内容
下载资源
问答
  • 弹出一个选择文件或文件夹窗口

    千次阅读 2017-07-18 14:37:22
    OpenFileDialog//弹出选择文件窗口 SaveFileDialog//弹出保存文件窗口 FolderBrowserDialog //弹出选择文件夹窗口
    OpenFileDialog//弹出选择文件窗口
    

    SaveFileDialog//弹出保存文件窗口


    FolderBrowserDialog //弹出选择文件夹窗口

    展开全文
  • 本文地址:... ...按钮,弹出文件夹选择框,然后选择本地路径下的 某一文件夹,将该路径值付给TextBox。参考了好多网络资料,但是其主要实现方式是通过FileUpload,但是这种文件上传方...

    本文地址:http://www.cnblogs.com/PiaoMiaoGongZi/p/4092112.html

     

    在Asp.net网站实际的开发中,比如:需要实现点击一个类似于FileUpload的浏览...按钮,弹出文件夹选择框,然后选择本地路径下的 某一文件夹,将该路径值付给TextBox。参考了好多网络资料,但是其主要实现方式是通过FileUpload,但是这种文件上传方式去不能很好的解决 该功能需求;只好寻求别的解决方法。在不断深入的学习中,发现可以通过JS的方式来得以实现该需求。下面是详细的实现过程,供大家参考。

    解决方法1:
    调用windows 的shell,但会有安全问题。
    该文件定义了BrowseFolder()函数,它将提供一个文件夹选择对话框
    以供用户实现对系统文件夹选择的功能,文件夹选择对话框起始目录由
    Shell.BrowseForFolder(WINDOW_HANDLE, Message, OPTIONS, strPath)函数的strPath参数设置
    例如:0x11--我的电脑;0 ——桌面."c:\\"--系统C盘。
    你可以创建一个browseFolder.js,然后进行调用,
    用如下代码把该函数应用到一个HTML文件中:
     <script src="browseFolder.js"></script>

    或者把下面代码直接复制到<script type="text/javascript">...</script>中得...处;

    注:由于浏览器安全方面的问题,你还需要作如下设置才能使本JS代码正确运行,否者会出现“没有权限”的问题。
     1、设置可信任站点(例如本地的可以为:http://localhost

     2、可信任站点安全级别自定义设置中:选择“Internet选项下——安全选项卡”,点击“自定义级别”按钮设置下面的选项 “对未标记为安全的ActiveX控件进行初始化和脚本运行”,将该项设置为启用。

     1 //path 要显示值的对象id
     2 function BrowseFolder() {
     3                 try {
     4                     var Message = "请选择文件夹";
     5                     var Shell = new ActiveXObject("Shell.Application");
     6                     var Folder = Shell.BrowseForFolder(0, Message, 0x0040, 0x11); //起始目录为:我的电脑
     7                     if (Folder != null) {
     8                         Folder = Folder.items(); // 返回 FolderItems 对象
     9                         Folder = Folder.item();
    10                         Folder = Folder.Path; // 返回路径
    11                         if (Folder.charAt(Folder.length - 1) != "\\") {
    12                             Folder = Folder + "\\";
    13                         }
    14                         var bb = document.getElementByIdx_x("<%=txtBackupPath.ClientID%>");     
    15                         //document.getElementByIdx_x("BackupPath").value = Folder;
    16                         bb.value = Folder;
    17                         return Folder;
    18                     }
    19                 } catch (e) {
    20                     alert(e.message);
    21                 }
    22             }

    Asp.net下,TextBox和Button中的使用方法:

    <asp:TextBox runat="server" ID="txtBackupPath"  Width="488px">E:\数据库</asp:TextBox> 
    <asp:Button runat="server" Text="浏览..." Width="78px" OnClientClick="BrowseFolder()"/>

     

    这种方法能很好的实现后台对数据的处理,所以相对完美。

    还有一种HTML下的使用方法:

    对应的JS如下:

     1 <script type="text/javascript">
     2 
     3 function browseFolder() {
     4             try {
     5                 var Message = "\u8bf7\u9009\u62e9\u6587\u4ef6\u5939"; //选择框提示信息
     6                 var Shell = new ActiveXObject("Shell.Application");
     7                 var Folder = Shell.BrowseForFolder(0, Message, 64, 17); //起始目录为:我的电脑
     8                 //var Folder = Shell.BrowseForFolder(0,Message,0); //起始目录为:桌面
     9                
    10                 if (Folder != null) {
    11                     Folder = Folder.items(); // 返回 FolderItems 对象
    12                    
    13                     Folder = Folder.item(); // 返回 Folderitem 对象
    14                     Folder = Folder.Path; // 返回路径
    15                    
    16                     if (Folder.charAt(Folder.length - 1) != "\\") {
    17                         Folder = Folder + "\\";
    18                     }
    19                     document.getElementByIdx_x("pathname").value= Folder;
    20                     return Folder;
    21                 }
    22             }
    23             catch (e) {
    24                 alert(e.message);
    25             }
    26         }
    27 
    28 </script>

     

    HTML对应的文本框和按钮的使用方法:

    <input type="text" id="pathname" /></td>
    <input  type="button" onclick="browseFolder()" value="浏览..."/></td>

    这种方法的不完美的地方是后台对文本框数据的处理比较麻烦。


    2.解决方案二:
    自己写一个js读取本地硬盘的选择框, 缺点是外观上较上一个差一些.

      1 <html>
      2 
      3 <head>
      4 
      5 <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
      6 <title>无标题文档</title>
      7 </head>
      8 <body>
      9 <table border="0" cellpadding="0" width="100%" id="tb_show">
     10 <tr>
     11 <td width="18%">文件保存位置:</td>
     12 <td width="82%">
     13 <%--<html:file property="file" size="40" styleClass="inputbox"/>--%>
     14 <input name="backDir" type="text" value ="C:\" size="100" width="500">
     15 </td>
     16 </tr>
     17 
     18 <tr>
     19 <td>目录位置:</td>
     20 <td>
     21 <select name="tables_drive" id="tables_drives" onchange="get_drives()" ></select>
     22 </td>
     23 </tr>
     24 
     25 <tr>
     26 <td colspan="2">
     27 <select name="table_folder" id="table_folder" size="10" multiple ondblclick="get_file()"></select>
     28 </td>
     29 </tr>
     30 
     31 <tr>
     32 <td colspan="2">
     33 <font color="red">说明:双击列表框的一个选项,就将该文件夹下面的文件夹显示在该列表框中。第一个就是根目录</font>
     34 </td>
     35 </tr>
     36 </table>
     37 </body>
     38 </html>
     39 <script>
     40 
     41 window.onload = new function init()
     42 {
     43 var fso, s, n, e, x;
     44 fso = new ActiveXObject("Scripting.FileSystemObject");
     45 e = new Enumerator(fso.Drives);
     46 s = "";
     47 for (; !e.atEnd(); e.moveNext())
     48 {
     49 x = e.item();
     50 s = s + x.DriveLetter;
     51 s += ":";
     52 if (x.DriveType == 3)
     53 n = x.ShareName;
     54 else if (x.IsReady)
     55 n = x.VolumeName;
     56 else
     57 n = "[驱动器未就绪]";
     58 s += n + ",";
     59 }
     60 var drives = s.split(",");
     61 var tableDrives = document.getElementByIdx_x("tables_drives");
     62 for ( var i = 0; i < drives.length-1; i++ )
     63 {
     64 var option = document.createElement_x("OPTION");
     65 drives[i].split(":");
     66 option.value = "["+drives[i].split(":")[0]+":]"+drives[i].split(":")[1];
     67 option.text = "["+drives[i].split(":")[0]+":]"+drives[i].split(":")[1];
     68 tableDrives.add(option);
     69 }
     70 }
     71 
     72 
     73 function get_drives()
     74 {
     75 var tableDrives = document.getElementByIdx_x("tables_drives");
     76 var tableFolders = document.getElementByIdx_x("table_folder");
     77 for ( var i = 0; i < tableDrives.options.length; i++ )
     78 {
     79 if ( tableDrives.options[i].selected == true )
     80 {
     81 var fso, f, fc, s;
     82 var drive = tableDrives.options[i].value.split(":")[0].substring(1,tableDrives.options[i].value.split(":")[0].length);
     83 document.getElementByIdx_x("backDir").value = drive + ":\\";
     84 fso = new ActiveXObject("Scripting.FileSystemObject");
     85 if (fso.DriveExists(drive))
     86 {
     87 d = fso.GetDrive(drive);
     88 if ( d.IsReady )
     89 {
     90 f = fso.GetFolder(d.RootFolder);
     91 fc = new Enumerator(f.SubFolders);
     92 s = "";
     93 for (; !fc.atEnd(); fc.moveNext())
     94 {
     95 s += fc.item();
     96 s += ",";
     97 }
     98 
     99 var len = tableFolders.options.length;
    100 while(len >= 0)
    101 {
    102 tableFolders.options.remove(len);
    103 len--;
    104 }
    105 var option = document.createElement_x("OPTION");
    106 option.value = drive + ":\\";
    107 option.text = drive + ":\\";
    108 tableFolders.add(option);
    109 var folders = s.split(",");
    110 for ( j = 0; j < folders.length -1; j++)
    111 {
    112 option = document.createElement_x("OPTION");
    113 option.value = folders[j];
    114 option.text = folders[j];
    115 tableFolders.add(option);
    116 }
    117 }
    118 else
    119 {
    120 alert("无法改变当前内容!")
    121 }
    122 }
    123 else
    124 return false;
    125 }
    126 }
    127 }
    128 
    129 
    130 function get_file()
    131 {
    132 var tableFolders = document.getElementByIdx_x("table_folder");
    133 var tableDrives = document.getElementByIdx_x("tables_drives");
    134 for ( var i = 0; i < tableFolders.options.length; i++ )
    135 {
    136 if ( tableFolders.options[i].selected == true )
    137 {
    138 var fso, f, fc, s;
    139 var folderpath = tableFolders.options[i].value.substring(0,tableFolders.options[i].value.length);
    140 if ( folderpath.charAt(folderpath.length-1) == "\\" )
    141 {
    142 document.getElementByIdx_x("backDir").value = folderpath;
    143 }
    144 else
    145 {
    146 document.getElementByIdx_x("backDir").value = folderpath + "\\";
    147 }
    148 
    149 
    150 fso = new ActiveXObject("Scripting.FileSystemObject");
    151 f = fso.GetFolder(folderpath);
    152 fc = new Enumerator(f.SubFolders);
    153 s = "";
    154 for (; !fc.atEnd(); fc.moveNext())
    155 {
    156 s += fc.item();
    157 s += ",";
    158 }
    159 var len = tableFolders.options.length;
    160 while(len >= 0)
    161 {
    162 tableFolders.options.remove(len);
    163 len--;
    164 }
    165 var opt = "";
    166 var opt1 = "";
    167 for ( j = 0; j < folderpath.split("\\").length; j++ )
    168 {
    169 var option = document.createElement_x("OPTION");
    170 opt = opt + folderpath.split("\\")[j]+"\\";
    171 if ( j > 0)
    172 {
    173 opt1 = opt;
    174 option.value = opt1.substring(0,opt1.length-1);
    175 option.text = opt1.substring(0,opt1.length-1);
    176 tableFolders.add(option);
    177 }
    178 else
    179 {
    180 option.value = opt;
    181 option.text = opt;
    182 tableFolders.add(option);
    183 }
    184 
    185 }
    186 if ( tableFolders.options[0].value == tableFolders.options[1].value )
    187 {
    188 tableFolders.options.remove(1);
    189 }
    190 if ( s != "" )
    191 {
    192 var folders = s.split(",");
    193 for ( j = 0; j < folders.length -1; j++)
    194 {
    195 option = document.createElement_x("OPTION");
    196 option.value = folders[j];
    197 option.text = folders[j];
    198 tableFolders.add(option);
    199 }
    200 }
    201 }
    202 }
    203 }
    204 </script>

     本文地址:http://www.cnblogs.com/PiaoMiaoGongZi/p/4092112.html

    转载于:https://www.cnblogs.com/PiaoMiaoGongZi/p/4092112.html

    展开全文
  • 本文主要介绍了js实现点击按钮弹出上传文件的窗口的实例方法。具有很好的参考价值,需要的朋友一起来看下吧
  • 您好,请参阅我的上述评论,以解决该问题。谢谢,爱德华
  • 在网站中我们经常会做一些好看的Popup Dialog。 我们可以利用JQuery官方提供的UI库来做。...首先,我们需要下载到JQuery UI自身的javascript和css还有图片文件夹,把它们 放在特定的位置,我们好引用。 jquery-u...
    在网站中我们经常会做一些好看的Popup Dialog。
    
    我们可以利用JQuery官方提供的UI库来做。
    而且,JQuery UI库效果更好,更成熟。

    今天,我们就来讲一下怎么利用JQuery UI自身的UI库来做自定义的Dialog。

    首先,我们需要下载到JQuery UI自身的javascript和css还有图片文件夹,把它们
    放在特定的位置,我们好引用。
    jquery-ui-1.7.2.custom.min.js
    jquery-ui-1.7.2.custom.css

    完整代码如下:

    <html>

    <head runat="server">
    <title>JQuery Dialog</title>
    <script type='text/javascript' src='../JsLib/jquery-1.3.2.min.js'></script>
    <script type='text/javascript' src='../JsLib/jquery-ui-1.7.2.custom.min.js'></script>
    <link rel='stylesheet' type='text/css' href='../CSS/jquery-ui-1.7.2.custom.css' />
    <link rel="StyleSheet" href="../CSS/style.css" type="text/css" />
    <script type='text/javascript'>
    $.ui.dialog.defaults.bgiframe = true;
    $(function() {
    $('#myDialog').dialog({
    width: 480,
    autoOpen: false,
    modal: true,
    buttons: {

    }
    });
    });

    function showDialog() {
    $('#myDialog').dialog('open');
    }


    function closeWin() {
    $('#myDialog').dialog('close');
    }

    </script>
    </head>
    <body>
    <!-- Jquery UI popup dialog content -->
    <div id="myDialog" title="My Dialog">
    <div id="dialogContent" style="overflow-y: auto; height: 280px;">
    <span class="blue13">Here is your message for dialog</span>
    </div>
    <div style="text-align:right;">
    <img src="../Images/Button_Close.gif" border="none" onMouseover="this.style.cursor='hand'" onclick="closeWin();">
    </div>
    </div>

    <form>

    <div>
    <input type="button" name="btnDialog" value="My Dialog" id="btnDialog" onclick="javascript:showDialog();" />
    </div>

    </form>
    </body>

    </html>


    在上面代码中,<div id="dialogContent">用于放置dialog的主体内容,
    我们可以在其中放图片等一些复杂的html。将overflow-y: auto;是为了
    如果内容过长时可以滚动条进行滚动。
    在下面我们设置一个div用来放置自己的image按钮图片。
    我们也可以采用dialog自身的关闭按钮,只需要在buttons: { 中间加入 }。
    eg: Ok: $('#myDialog').dialog('close');

    效果如下:
    [img]/upload/attachment/136618/5b05f74b-5f65-394c-a085-5fc83f82501d.png[/img]
    展开全文
  • NULL 博文链接:https://maidoudao.iteye.com/blog/1511757
  • shawl.qiu javascript 智能弹出窗口函数 fSmartDisplayImg说明:这个函数主要应用于从缩略图点击时显示大图, 使用弹出窗口友好显示...如你有 images 文件夹images 下有目录 thumb, 也就是 images/thumb/images 用于...

    shawl.qiu javascript 智能弹出窗口函数 fSmartDisplayImg


    说明:
    这个函数主要应用于从缩略图点击时显示大图, 使用弹出窗口友好显示...

    如你有 images 文件夹
    images 下有目录 thumb, 也就是 images/thumb/

    images 用于存放大图片, images/thumb/ 用于存放大图片的缩略图图片

    网页显示时, 显示缩略图...添加点击事件后就自动显示大图...

    其实我可以有N种方法实现, 不过最终还是选择 js 实现, 这个是在客户端...
    从服务端处理这些该死的图片内容要浪费资源和浪费数据表字段...

    shawl.qiu
    2007-05-02
    http://blog.csdn.net/btbtd


    内容:
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    2. <html xmlns="http://www.w3.org/1999/xhtml">
    3. <!-- DW6 -->
    4. <head>
    5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    6. <title>shawl.qiu template</title>

    7. <script type="text/javascript">
    8. //<![CDATA[
    9.   function fSmartDisplayImg(oImg, sForRemovePath, sCharset, bDebug)
    10.   { // sForRemovePath: /path/
    11.    var Debug = bDebug;
    12.    
    13.    var smallurl = "";
    14.    
    15.    if(typeof(oImg)=="object")
    16.    {
    17.     smallurl = oImg.src;
    18.    }
    19.    else
    20.    {
    21.     smallurl = oImg;
    22.    }
    23.    
    24.    if(typeof(sForRemovePath)=="boolean")
    25.    {
    26.     if(sForRemovePath)
    27.     {
    28.      sForRemovePath = "/thumb/";
    29.     }
    30.     else
    31.     {
    32.      sForRemovePath = "afksjdkfjasdfkjaskdfjaskdfj9089";
    33.     }
    34.    }
    35.    else
    36.    {
    37.     sForRemovePath = sForRemovePath||"/thumb/";
    38.    }
    39.    
    40.    var sCharset = sCharset||"utf-8";
    41.    var re=new RegExp(sForRemovePath, "i");
    42.    var bigurl = smallurl.replace(re, "/");
    43.    var iWidthPlus = 0;
    44.    if(fIsIe())
    45.    {
    46.     iWidthPlus = 16;
    47.    }
    48.    
    49.    var oBigImg = new Image();
    50.    
    51.    with(oBigImg)
    52.    {
    53.     src=bigurl;
    54.    }
    55.    if(oBigImg.width>0)
    56.    {
    57.     fWinPopup(oBigImg.src, oBigImg.width+iWidthPlus, oBigImg.height);
    58.    }
    59.    else
    60.    {  
    61.     oInterval = setInterval
    62.      (
    63.       function()
    64.       {
    65.        if(oBigImg.width>0)
    66.        {
    67.         clearInterval(oInterval);
    68.         fWinPopup(oBigImg.src, oBigImg.width+iWidthPlus, oBigImg.height);
    69.        }
    70.       }
    71.       ,
    72.       50
    73.      )
    74.      
    75.     oBigImg.onerror =
    76.      function()
    77.      {
    78.       alert("failed to loading img: "+oBigImg.src);
    79.      };
    80.    }
    81.    
    82.    if(Debug)
    83.    {
    84.     alert("function fSmartDisplayImg: ok");
    85.     alert("oImg.src: "+oImg.src);
    86.     alert("bigurl: "+bigurl);
    87.     alert("oBigImg.src: "+oBigImg.src);
    88.    }
    89.  
    90.    function fIsIe()
    91.    {
    92.     return navigator.appName=='Microsoft Internet Explorer';
    93.    }
    94.    
    95.    function fWinPopup(sUrl, iWidth, iHeight, sCharset, sAddition){
    96.     var sCharset = sCharset||"utf-8";
    97.     try{oPopup.close()}catch(e){}
    98.     if(!sUrl)return false;
    99.     if(!iWidth)iWidth=screen.availWidth-200;
    100.     if(!iHeight)iHeight=screen.availHeight-150;
    101.     if(!sAddition)sAddition='';
    102.     var iMrgHor=(screen.availWidth-iWidth)/2;
    103.     var iMrgVtc=(screen.availHeight-iHeight)/2;
    104.     
    105.     oPopup=open('about:blank','sqPopup','width='+iWidth+',height='+iHeight+',left='+iMrgHor
    106.      +',top='+iMrgVtc+',scrollbars'+sAddition);
    107.      
    108.      oPopup.document.write(
    109.      "<meta http-equiv=/"Content-Type/" content=/"text/html; charset="+sCharset+"/">"
    110.      );    
    111.      
    112.      oPopup.document.write(
    113.      '<img src="'+sUrl+'"/>',
    114.      '<style>body{margin:0; padding:0;}<//style>'
    115.      );
    116.      
    117.      oPopup.document.close();
    118.  
    119.     oPopup.focus();
    120.     oPopup.document.ondblclick=function(){oPopup.close();}
    121.     oPopup.document.onkeydown=function(){ if(oPopup.event.keyCode==27)oPopup.close(); }
    122.    } // shawl.qiu script 
    123.   } // end function fSmartDisplayImg
    124. //]]>
    125. </script>
    126. </head>
    127. <body>
    128. <img src="images/thumb/246.jpg" onclick="fSmartDisplayImg(this, '/thumb/');" />
    129. </body>
    130. </html>


    展开全文
  • 设计要弹出窗口的xml布局      xmlns:android="http://schemas.android.com/apk/res/android"   android:layout_width="fill_parent"   android:layout_height="wrap_content"   andr
  • 弹出信息框,是浏览器客户端的事件。服务器没有弹出信息框的功能。 方法一: asp.net页面如果需要弹出信息框,则需要在前台页面上注册一个javascript脚本,使用alert方法。使用Clie
  • 在运行弹出窗口JavaScript时,访问后台窗口似乎具有禁用HTTP缓存的意外副作用(基于网络时间轴,请参见下文)。 测量的onload事件完成时间比基线长onload数量级。 安装和复制问题 克隆或解压缩该存储库。 将每个子...
  • curDoc :窗口调用页面的document对象也就是加载lhgdialog.min.js的页面的document对象,如果不是在框架中弹出它和topDoc是相等的。 dgWin :内容页的window对象如果参数为page,且link参数不为真,那这个就是内容...
  • 因为项目需要,我需要一个iframe嵌套一个弹出窗口,使得父窗口不能点击;需要一个弹出一个div区域来进行对一些内容的修改,花了一天时间实现了这些效果。 html文件: &lt;!DOCTYPE html&gt; &lt;...
  • 弹出窗口

    2015-08-26 00:29:00
    我在做的一个项目有一部分要下载附件,可是我们公司用了一个包和网上的用response的解决方法冲突,而网上的js解决方法又用到了ActiveXObj我们经理不让用这个.还好我一个同事很利害用了一个很简单的方法,简单到我都吃惊...
  • React传单可编辑弹出窗口 一个用于传单的小插件,允许作者使弹出窗口可编辑。 您也可以使用弹出窗口删除其源。 这是从改编来与React-Leaflet一起使用的。 / 有关示例,请参 。 单击弹出窗口以获取说明。 参见,使用...
  • 控制弹出窗口样式

    2012-10-24 22:50:00
    /// <summary> /// 弹出框样式 /// </summary> public string StrFrameCss = Common.TableSink; //控制弹出窗口样式 <script type="text/javascript"> fun...
  • remodal是一个轻量级、扁平化、响应式模态窗口,可以监测浏览器的大小自适应的的窗口。使用声明式状态符号和哈希(Hash)跟踪。所有现代的浏览器都支持。 首先它是一个插件。下载之后解压,dist中放了你要使用的css...
  • 问题在Chrome扩展程序的弹出页面中,使用任何JavaScript方法导致窗口弹出导致弹出窗口动画,但是,只要窗口内容被填充,就会立即失去焦点并消失.奇怪的是,只要Chrome的开发者工具在扩展的上下文中打开,弹出窗口就会保持...
  • 1.8.2.min.js"></script> <script type="text/javascript"> $(function () { $("#btnSelectFile").click(function () { $("#hidFilePath").click();//打开文件选择窗口 $("#txtFilePath").val($("#hidFilePath").val...
  • Yii弹出窗口组件CJuiDialog

    千次阅读 2013-07-26 11:30:38
    Yii弹出窗口组件CJuiDialog CJuiDialog组件在手册zii.widgets.jui下 在视图下使用以下代码 查看文本打印? $this->beginWidget('zii.widgets.jui.CJuiDialog', array( 'id'=>'mydialog',//弹窗ID // ...
  • js实现上传文件夹

    千次阅读 2019-06-10 09:50:26
    您可以同时上传一个或者多个文件夹,文件管理器会将这些文件夹以及他们的结构信息同时保存在服务器中。您不需要担心浏览器重启或崩溃造成的进度丢失的问题。   3. 文件批量下载 此文件管理器提供了文件...
  • 后台运行不dos窗口 %1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit java -jar C:\Users\zhaoyun\Desktop\AAAAA.jar 开机自启(启动项目录根据系统...
  • <input type="file" style="display:none" id="upload_file" onchange="javascript:validate_img(this)"> 暂无照片" src="${proPath }/images/${sessionScope.user.image}" onclick="show_file_window()" class
  • //保存文件夹选择对话框引用//添加引用system.design.dll/using System.Windows.Forms.Design; private void button4_Click(object sender, System.EventArgs e){ //选择文件的保存路径//添加窗体控件...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,305
精华内容 7,722
关键字:

js弹出文件夹窗口