.NET WinFrom中给文本框添加拖放事件的代码

在开发.NET WinForm程序时,有时候我们希望窗体上的文本框能接受鼠标拖放事件,比如允许将文件直接拖放到文本框中以直接获取到文件的本地路径,或者将选取的字符串直接拖放到文本框中等等。要实现这个功能其实很简单,代码如下。

1. 将文本框的属性AllowDrop设置成True

2. 给文本框添加DragEnter事件


复制代码 代码如下:

private void textBox1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop, false))
{
e.Effect = DragDropEffects.All;
}
}

注意DataFormats下面有许多其它的属性允许你将不同类型的数据拖放到文本框中。上面的代码用于将文件的本地路径拖放到文本框中。

3. 给文本框添加DragDrop事件以接收数据


复制代码 代码如下:

private void textBox1_DragDrop(object sender, DragEventArgs e)
{
this.textBox1.Text = GetDragData((string[])e.Data.GetData(DataFormats.FileDrop));
}

你还可以给其它的控件添加鼠标拖放事件,如ListBox等,方法类似。

时间: 2014-05-03

C#的winform控件命名规范

本文详细讲述了C#的winform控件命名规范.分享给大家供大家参考.具体如下: 注:这里用红字标记的部分表示有重复出现,括号内为替代表示方案 1.标准控件 序号 控件类型简写 控件类型 1 btn Button 2 chk CheckBox 3 ckl CheckedListBox 4 cmb ComboBox 5 dtp DateTimePicker 6 lbl Label 7 llb LinkLabel 8 lst ListBox 9 lvw ListView 10 mtx MaskedT

winfrom 打印表格 字符串的封装实现代码 附源码下载

所以对于应用层用着还不是很方便.最近做一个项目顺便就封装了一个调用默认打印机的类.虽说有几个小bug,但对于目前来说,已经满足需求了.以后不够了在来升级吧. 1,关于打印上下左右边距和纸张的高宽.以往都把这些写死到代码里面.既然是调用默认打印机,打印机的型号自然有差异.所以我就把这些配置放到app.config里面.但又怕每次打印都加载config影响效率.故此设计了个PrintPaper类.里面所有属性都是静态的.还有一个静态的构造方法.这样只有在程序开始运行加载一次config.之后就直接从

WinForm实现按名称递归查找控件的方法

本文所述实例主要实现了WinForm实现按名称递归查找控件的功能,在C#项目开发中有一定的应用价值,分享给大家供大家参考借鉴. 关键代码如下: /// <summary> /// 向下递归查找控件 /// </summary> /// <param name="parentControl">查找控件的父容器控件</param> /// <param name="findCtrlName">查找控件名称<

简介Winform中创建用户控件

步骤: 1.创建一个项目,该项目主要用来设计用户控件. 2.创建一个用户控件窗体,用来设计用户控件. 3.向用户控件窗体中添加一个按钮(button1),给它添加相应的移入.移出事件,实现移入时按钮的背景设置一个图片,移出的时候背景设置另一个图片. 复制代码 代码如下: private void button1_MouseEnter(object sender, EventArgs e)        {            this.button1.Image = Image.FromFil

winfrom 在业务层实现事务控制的小例子

复制代码 代码如下: try    { using (TransactionScope tr = new TransactionScope()) {     int i = this.customermanager.addCustomer(customer);     int j = this.homestatusmanager.updateHomestatus(homestatus);     if ((i * j) > 0)     {  MessageBox.Show("记录插入成功

深入分析C#中WinForm控件之Dock顺序调整的详解

最近被.net winform中的控件布局搞困惑了,由于控件都是使用Dock方式的,操作起来也是比较方便,如果最大化,窗口大小调整等,都可以随着窗口大小的变化而变化.但问题是,.net winform的dock方式是根据先添加的控件顺序进行优先级Dock排列的,假设我想目前有三个控件A.B.C分别以 Top.Bottom以及Fill方式填充窗口即窗口看起来应该是这样的:---------------------A---------------------C--------------------

C#之WinForm跨线程访问控件实例

本文实例讲述了C#中WinForm跨线程访问控件的实现方法,分享给大家供大家参考. 具体实现方法如下: 1.跨线程访问控件委托和类的定义 复制代码 代码如下: using System; using System.Windows.Forms; namespace ahwildlife.Utils {     /// <summary>     /// 跨线程访问控件的委托     /// </summary>     public delegate void InvokeDeleg

WinFrom中label背景透明的实现方法

本文实例讲述了WinFrom中label背景透明的实现方法,在应用程序开发中有着不错的实用价值.分享给大家供大家参考.具体实现方法如下: 使用: lblPstart.BackColor=Color.Transparent; 就可以让lable控件的背景色透明,可以看到摆放lable容器的背景色,但这个背景色不一定是窗体的背景色. 比如: From1.Controls.Add(lable1); lable1.BackColor=Color.Transparent; 这样,lable1就是透明的  

C#中让控件全屏显示的实现代码(WinForm)

1.使用winapi "SetParent" 接口: 复制代码 代码如下: [DllImport("user32.dll", SetLastError = true)] static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent); 复制代码 代码如下: control.Dock = DockStyle.None; control.Left = 0; control.Top = 0; c

WinForm自定义控件应用实例

C#的WinForm有一些控件具备自绘的功能,这就意味着你可以对这些控件进行自绘,可以起到意想不到的视觉效果.本文所述的以下控件就是通过一些简单的控件转变过来的.具体示例如下: 1.横向选项卡重绘: 这里的"横向"对话框其实是通过一个TabControl进行"方向旋转".重绘控件项等操作进行实现的.步骤如下: ①.Alignment:用于控制选项卡的方向(设置为Left). ②.SizeMode:用于调整每个选项卡,默认是Normal(非自绘模式),此处应该设置为F

WinForm 自动完成控件实例代码简析

在Web的应用方面有js的插件实现自动完成(或叫智能提示)功能,但在WinForm窗体应用方面就没那么好了. TextBox控件本身是提供了一个自动提示功能,只要用上这三个属性: AutoCompleteCustomSource:AutoCompleteSource 属性设置为CustomSource 时要使用的 StringCollection. AutoCompleteMode:指示文本框的文本完成行为. AutoCompleteSource:自动完成源,可以是 AutoCompleteSo

c#中多线程访问winform控件的若干问题小结

我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题.然而我们并不能用传统方法来解决这个问题,下面我将详细的介绍. 首先来看传统方法: 复制代码 代码如下: public partial class Form1 : Form     {        public Form1()        {            InitializeComponent();        } private void Form1_Load(object sender,

C# winfrom 模拟ftp文件管理实现代码

复制代码 代码如下: using System; using System.Collections.Generic; using System.Text; using System.Net; using System.IO; using System.Windows.Forms; namespace ConvertData{    class FtpUpDown    { string ftpServerIP;        string ftpUserID;        string ftp

Python模拟FTP文件服务器的操作方法

分为服务端和客户端,要求可以有多个客户端同时操作. 客户端可以查看服务器文件库中有什么文件. 客户端可以从文件库中下载文件到本地. 客户端可以上传一个本地文件到文件库. 使用print在客户端打印命令输入提示,引导操作 服务端 # 导入相关模块 from socket import * from multiprocessing import Process import signal, os, time # 绑定IP地址 IP = "127.0.0.1" # 绑定端口 PORT = 8

asp.net ASPxTextBox等控件实现&quot;回车模拟Tab&quot;的 常用代码整理

近期在做一个Web项目,我使用DevExpress第三方控件. 由于该控件使用技巧中文资料较少,还真够呛的,只能边摸索,边开发. 今天我要实现一些编辑框如ASPxTextBox.ASPxComboBox等控件回车模拟Tab的功能.这没办法,用户用惯了回车,讨厌按Tab来移动焦点(鼠标点击更麻烦). 以ASPxTextBox为例,在ClientSideEvents属性中可设置许多客户端JavaScript代码,其中KeyPress就是我要写的. 首先,得准备要模拟Tab的JS代码,这网上很多,我随

div模拟选择框示例代码

html原有标签可以满足我们需求,有时为了使界面更加美观,就需要自己写出来一些列标签供使用,这次项目就有这个要求了,模拟选项框 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.

js模拟弹出效果代码修正版

模拟弹出效果代码修正版 从网上看到的代码,当文章内容较多时,总会提示 复制代码 代码如下: --------------------------- Windows Internet Explorer --------------------------- Internet Explorer 无法打开 Internet 站点 应该是页面没加载完,所以我判断下,等页面加载完了,再运行 复制代码 代码如下: window.onload=function(){ var oo = new fw.com.u

php实现curl模拟ftp上传的方法

本文实例讲述了php实现curl模拟ftp上传的方法.分享给大家供大家参考.具体如下: <?php function upload($dir,$src,$dest) { $ch = curl_init(); $fp = fopen($src, 'r'); curl_setopt($ch, CURLOPT_URL, 'ftp://user:pwd@host/interpretation/'.$dir .'/'. $dest); curl_setopt($ch, CURLOPT_UPLOAD, 1)

JS模拟实现Select效果代码

本文实例讲述了JS模拟实现Select效果代码.分享给大家供大家参考.具体如下: 这里模拟实现一个Select效果,其实这不是模拟,是自制Select,在JavaScript的配合下,运用CSS的UL/LI形成一个可下拉的列表,类似于下拉Select的效果,你可任意修改他们的颜色和内容之类的,用起来更方便了. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-mn-select-style-demo-codes/ 具体代码如下: <!DOCT

java使用Apache工具集实现ftp文件传输代码详解

本文主要介绍如何使用Apache工具集commons-net提供的ftp工具实现向ftp服务器上传和下载文件. 一.准备 需要引用commons-net-3.5.jar包. 使用maven导入: <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.5</version> </depend

Java模拟UDP通信示例代码

Java基础:模拟UDP通信 1.一次发送,一次接收 1.1.发送方 // 发送端,不需要连接服务器 public class UdpClientDemo {     public static void main(String[] args) throws Exception {         // 1. 发送数据包需要一个Socket         DatagramSocket socket = new DatagramSocket();         // 1.2 建立一个包    

Python 通过爬虫实现GitHub网页的模拟登录的示例代码

1. 实例描述 通过爬虫获取网页的信息时,有时需要登录网页后才可以获取网页中的可用数据,例如获取 GitHub 网页中的注册号码时,就需要先登录账号才能在登录后的页面中看到该信息,如下图所示.那么该如何实现模拟登录的功能呢?本文实现将通过爬虫实现 GitHub 网页的模拟登录. 2. 代码实现 在实现 GitHub 网页的模拟登录时,首先需要查看提交登录请求时都要哪些请求参数,然后获取登录请求的所有参数,再发送登录请求.如果登录成功的情况下获取页面中的注册号码信息即可.具体步骤如下: (1) 点