.NET WinFrom中给文本框添加拖放事件的代码
在开发.NET WinForm程序时,有时候我们希望窗体上的文本框能接受鼠标拖放事件,比如允许将文件直接拖放到文本框中以直接获取到文件的本地路径,或者将选取的字符串直接拖放到文本框中等等。要实现这个功能其实很简单,代码如下。
1. 将文本框的属性AllowDrop设置成True
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等,方法类似。
相关推荐
-
深入分析C#中WinForm控件之Dock顺序调整的详解
最近被.net winform中的控件布局搞困惑了,由于控件都是使用Dock方式的,操作起来也是比较方便,如果最大化,窗口大小调整等,都可以随着窗口大小的变化而变化.但问题是,.net winform的dock方式是根据先添加的控件顺序进行优先级Dock排列的,假设我想目前有三个控件A.B.C分别以 Top.Bottom以及Fill方式填充窗口即窗口看起来应该是这样的:---------------------A---------------------C--------------------
-
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
-
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
-
WinForm自定义控件应用实例
C#的WinForm有一些控件具备自绘的功能,这就意味着你可以对这些控件进行自绘,可以起到意想不到的视觉效果.本文所述的以下控件就是通过一些简单的控件转变过来的.具体示例如下: 1.横向选项卡重绘: 这里的"横向"对话框其实是通过一个TabControl进行"方向旋转".重绘控件项等操作进行实现的.步骤如下: ①.Alignment:用于控制选项卡的方向(设置为Left). ②.SizeMode:用于调整每个选项卡,默认是Normal(非自绘模式),此处应该设置为F
-
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
-
C#之WinForm跨线程访问控件实例
本文实例讲述了C#中WinForm跨线程访问控件的实现方法,分享给大家供大家参考. 具体实现方法如下: 1.跨线程访问控件委托和类的定义 复制代码 代码如下: using System; using System.Windows.Forms; namespace ahwildlife.Utils { /// <summary> /// 跨线程访问控件的委托 /// </summary> public delegate void InvokeDeleg
-
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("记录插入成功
-
WinForm 自动完成控件实例代码简析
在Web的应用方面有js的插件实现自动完成(或叫智能提示)功能,但在WinForm窗体应用方面就没那么好了. TextBox控件本身是提供了一个自动提示功能,只要用上这三个属性: AutoCompleteCustomSource:AutoCompleteSource 属性设置为CustomSource 时要使用的 StringCollection. AutoCompleteMode:指示文本框的文本完成行为. AutoCompleteSource:自动完成源,可以是 AutoCompleteSo
-
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
-
c#中多线程访问winform控件的若干问题小结
我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题.然而我们并不能用传统方法来解决这个问题,下面我将详细的介绍. 首先来看传统方法: 复制代码 代码如下: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender,
-
winfrom 打印表格 字符串的封装实现代码 附源码下载
所以对于应用层用着还不是很方便.最近做一个项目顺便就封装了一个调用默认打印机的类.虽说有几个小bug,但对于目前来说,已经满足需求了.以后不够了在来升级吧. 1,关于打印上下左右边距和纸张的高宽.以往都把这些写死到代码里面.既然是调用默认打印机,打印机的型号自然有差异.所以我就把这些配置放到app.config里面.但又怕每次打印都加载config影响效率.故此设计了个PrintPaper类.里面所有属性都是静态的.还有一个静态的构造方法.这样只有在程序开始运行加载一次config.之后就直接从
-
WinFrom中label背景透明的实现方法
本文实例讲述了WinFrom中label背景透明的实现方法,在应用程序开发中有着不错的实用价值.分享给大家供大家参考.具体实现方法如下: 使用: lblPstart.BackColor=Color.Transparent; 就可以让lable控件的背景色透明,可以看到摆放lable容器的背景色,但这个背景色不一定是窗体的背景色. 比如: From1.Controls.Add(lable1); lable1.BackColor=Color.Transparent; 这样,lable1就是透明的
随机推荐
- Javascript获取表单名称(name)的方法
- vbs 获取当前目录的实现代码
- 详解在vue-cli项目中安装node-sass
- (仅供备用)硬盘各分区的默认共享:打开(原版XP本来就是开的)注册表文件
- Swift中Optional值的链式调用学习笔记
- thinkphp实现无限分类(使用递归)
- Asp.net页面中调用soapheader进行验证的操作步骤
- PHP新建类问题分析及解决思路
- 利用php_imagick实现复古效果的方法
- Android登陆界面用户名检测功能
- Android Studio中快捷键实现try catch等功能包含代码块的实现方法
- mysql 转换NULL数据方法(必看)
- jsPDF导出pdf示例
- fckeditor 插件开发参考文档
- 实现前后端数据交互方法汇总
- jquer之ajaxQueue简单实现代码
- Ubuntu+Nginx+Mysql+Php+Zend+eaccelerator安装配置文字版
- C语言new操作的安全性分析
- PHP中对数据库操作的封装
- fleaphp常用方法分页之Pager使用方法