C#求助:如何在textbox输入一个TXT文件地址,如C:\abc.txt,然后点击button 按下 抬起按使内容显示在另一个TEXTBOX里?

VB.NET / C# 将文本或 Textbox 文字写入TXT文档 | Forece Blog其他回答(8)
你以前学WEB编程的吧?
Winform没有这样的默认行为,你非要的话,可以通过Textbox_Focused事件捕捉,自行处理。
楼下说的DX,全名是DevExpress,里面有个控件叫TextEdit,
在Properties属性中,有个属性叫NullText,设置那个属性,就可以得到你要的效果。
收获园豆:20
园豆:26207
DX控件 winform& 自带你要的这种属性
收获园豆:20
园豆:1185
园豆:26207
园豆:1185
园豆:3266
1、通过事件组合来实现吧。默认设置Text,ForeColor,然后有输入的时候置空,重新设置ForeColor。
2、或者用支持该功能的第三放组件库实现;
3、再者就是封装自定义控件(详细同1),实现。
收获园豆:20
园豆:35255
一: 设置文本框的Text为你要的提示&提示信息&,
二: 用好文本框的两个事件, 代码为下: &textBox1为用户名, textBox2为密码框。&
private void textBox1_Enter(object sender, EventArgs e)//用户名文本框焦点获得事件
if (textBox1.Text == "请输入用户名")
textBox1.Text = "";
private void textBox1_Leave(object sender, EventArgs e)//用户名文本框焦点离开
if (textBox1.Text == "")
textBox1.Text = "请输入用户名";
private void textBox2_Enter(object sender, EventArgs e) //密码框焦点获得
textBox2.PasswordChar = char.Parse("*"); //设置密码框显示字符为*
if (textBox2.Text == "请输入密码")
textBox2.Text = "";
private void textBox2_Leave(object sender, EventArgs e)
if (textBox2.Text == "")
textBox2.Text = "请输入密码";
textBox2.PasswordChar = '\0'; //清空PasswordChar设置
三: 在点提交按钮之时, 再去判断文本框是否为&请输入...神马&, 如果是, 就阻止用户提交。&
收获园豆:30
园豆:3266
public partial class WatermarkBox : TextBox {
private string
private Color watermarkC
private Color foreC
private bool
[Browsable (true)]
public Color WatermarkColor {
get { return watermarkC }
watermarkColor =
if (empty) {
base.ForeColor = watermarkC
[Browsable(true)]
public string Watermark {
get { return }
watermark =
if (empty) {
base.Text =
base.ForeColor = watermarkC
public WatermarkBox () {
empty = true;
foreColor = ForeC
[Browsable(true)]
public new Color ForeColor {
get { return foreC }
foreColor =
if (! empty)
base.ForeColor =
public override string Text {
if (empty)
return "";
return base.T
if (value == "") {
empty = true;
base.ForeColor = watermarkC
base.Text =
base.Text =
protected override void OnGotFocus (EventArgs e) {
if (empty) {
empty = false;
base.ForeColor = foreC
base.Text = "";
base.OnGotFocus (e);
protected override void OnLostFocus (EventArgs e) {
base.OnLostFocus (e);
if (base.Text == "") {
empty = true;
base.ForeColor = watermarkC
base.Text =
empty = false;
自定义一个 watermarkTextbox,然后在工具箱拖拽一个 watermarkBox
最后设置Watermark 属性,就OK了
收获园豆:30
园豆:12918
自己做一个自定义控件是最方便的方法,还能通用!
收获园豆:20
园豆:13823
I think you've got your answer
收获园豆:10
也曾想过,看到这么多大神的解答,真的是学习了。
清除回答草稿
&&&您需要以后才能回答,未注册用户请先。当前位置: →
→ WPFtextbox在输入文本时弹出一个靠右的popup,textbox和popup都有输入焦点,如何做
WPFtextbox在输入文本时弹出一个靠右的popup,textbox和popup都有输入焦点,如何做
& 作者:佚名 & 来源: 互联网 & 热度:
&收藏到→_→:
摘要: 【WPF】 textbox在输入文本时弹出一个靠右的popup,textbox和popup都有输入焦点,怎么做?popup中有个listview可以用鼠标或者...
"WPFtextbox在输入文本时弹出一个靠右的popup,textbox和popup都有输入焦点,如何做"::
【wpf】 textbox在输入文本时弹出一个靠右的popup,textbox和popup都有输入焦点,怎么做?popup中有个listview可以用鼠标或者键盘光标选择项,要求在popup弹出时,textbox和pop同时具有输入焦点,即此时textbox可以正常输入,同时popup可以通过键盘光标键上下选择。------解决方案--------------------同时有焦点是不能的 可以处理事件 listview的鼠标事件完成后焦点再给textbox。textbox的up down 事件当listview的事件去处理
------解决方案--------------------这龙为啥一直冒气泡,
------解决方案--------------------
那可以在 textbox 里通过处理键盘事件来滚动listview 搜索此文相关文章:此文来自: 马开东博客
网址: 站长QQ
上一篇:没有了
WPFtextbox在输入文本时弹出一个靠右的popup,textbox和popup都有输入焦点,如何做_C#技术相关文章
C#技术_总排行榜
C#技术_最新
C#技术_月排行榜
C#技术_周排行榜
C#技术_日排行榜在录入界面中,用户往往需要按回车键时光标自动跳入下一个文本框,以方便录入操作。在C#中实现该功能有多种方法,以下是小编收集的不使用TAB键,而直接用回车键将光标转到下一个文本框的实现方法。
一、利用Windows消息模拟发送Tab键
将各个TextBox的TabIndex属性按顺序编号1、2、3&&,然后将TextBox的TabStop属性置为True,在每一个TextBox的键盘按下事件中,执行以下代码即可(各个TextBox可共用同一个键盘按下事件)。
/// &summary&
/// 鼠标按键事件。
/// 如果检查到按下的是回车键,则发一个消息,模拟键盘按以下Tab键,以使输入焦点转移到下一个文本框(或其他焦点可停留的控件)
/// &/summary&
/// &param name="sender"&&/param&
/// &param name="e"&&/param&
private void textBox_KeyPress(object sender, KeyPressEventArgs e)
if (e.KeyChar == (char)Keys.Enter)
SendKeys.Send("{tab}");
二、手动置下一个需要获取焦点的文本框
如果想让焦点跳到任意文本框或者其他地方, 在文本框的键盘按下事件中,将焦点放到目标文本框上。
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
if (e.KeyChar == (char)Keys.Enter)
textBox2.focus(); //当在文本框1中检查到回车键时,直接将焦点转入TextBox2
三、利用控件的SelectNextControl函数
按方法一中设置好TextBox的TabIndex和TabStop属性,在C# 回车Enter事件中,调用控件的SelectNextControl函数,是的输入焦点跳到下一个TextBox(文本框)。
以下示例是在窗口显示控件中,统一为TextBox的鼠标按下KeyDown事件添加处理函数。(示例来自红日的百度空间)
protected override void OnShown(EventArgs e)
base.OnShown(e);
foreach (Control ct in this.Controls)
TextBox tx = ct as TextB
if (tx != null)
tx.KeyDown += (sender, e_args) =&
if (e_args.KeyCode == Keys.Enter)
{this.SelectNextControl(tx, true, true, false, true);}
四、偷梁换柱,将回车键替换成Tab键
先设置这些控件的Tab顺序,然后在窗体的后台代码中添加如下函数就可以了
protected override bool ProcessDialogKey(Keys keyData)
if (keyData == Keys.Enter)  // 按下的是回车键
foreach (Control c in this.Controls)
if (c is System.Windows.Forms.TextBox)  // 当前控件是文本框控件
keyData = Keys.T
keyData = Keys.T
return base.ProcessDialogKey(keyData);
protected override bool ProcessDialogKey(Keys keyData)
if ((ActiveControl is TextBox || ActiveControl is ComboBox) &&
keyData == Keys.Enter)
keyData = Keys.T
return base.ProcessDialogKey(keyData);
五、C#WinForm自动跳转回车问题
有个TEXTBOX输入框!属性设置了可以换行multiline设置了True!在keydwon加了换下一个输入框的命令
private void textDisease_KeyDown(object sender, KeyEventArgs e)
if (e.KeyValue == 13)
textOrganization.Focus();
textOrganization.SelectAll();
在换到下一个时,原来的输入框也会加了个有回车!如何处理掉这个回车!
解决方法1:设置按键的e.Handled属性
textDisease_KeyDown(object sender, KeyEventArgs e)
if (e.KeyValue == 13)
e.Handled = True
textOrganization.Focus();
textOrganization.SelectAll();
加一句e.Handled = True。目的是让系统不要处理该Enter按键。
解决办法2:使用textChange事件&
private void textDisease_TextChanged(object sender, EventArgs e)
textDisease.Text = textDisease.Text.Trim().Replace("\r\n", "");
六、在网页程序中不使用TAB键直接用回车键将光标转到下一个文本框的方法
在C#.NET中,可以使用JaveScript脚本实现不使用TAB键,而直接用回车键将光标转到下一个文本框。
&%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="回车使下一个文本框得到焦点.WebForm1" %&
&script language=javascript&
function setfocus() { document.all.t2.focus(); }
&/script&&
七、如何在文本框输入框里按回车键,光标自动跳转到下一个文本框输入框或者是执行某按钮的提交?
这两个问题的本质是一样的,一般是借助客户端脚本来解决,举例如下。
&%@ Page Language="C#" %&
&script runat="server"&
protected void Button_Click(object sender,EventArgs e)
Lable1.Text="您点击了:"+((Button)sender).T
protected void Page_Load(object sender,EventArgs e)
int TextBoxNum=4;
for(int i=1;i&=TextBoxNi++)
if(i!=TextBoxNum)
((TextBox)form1.FindControl("TextBox"+i.ToString())).Attributes.Add("onkeydown","TabNext(event,'0','"+((TextBox)form1.FindControl("TextBox+(1+i).ToString())).ClientID+'")");
((TextBox)form1.FindControl("TextBox"+i.ToString())).Attributes.Add("onkeydown","TabNext(event,'"+Button2.ClientID+'",)");
在页面中有一个form1的表单,4个TextBox,还有一个BUtton2按钮,一个Label1,在页面中添加下列javascript脚本:
&script language="javascript" type="text/javascsript"&
function TabNext(e,s1,s2)
if(window.event)//ie
keynum=e.KeyCode
else if(e.which)//netscape,firefox,opera
keynum=e.which
if(keynum==13)
if(s1=="0")
document.getElementById(s2).focus()
docuemnt.getElementById(s1).click()
if(window.event)
e.returnValue=false;
e.cancelBubble=true;
else if(e.which)
e.rreventDefault()
记得要把button2的onclick的onclick事件绑定到button_click上。在使用这个方法时,注意TextBox控件的ID的命名规则 TextBox1,TextBox2,TextBox3....和对应的客户端的ID属性。TextBox的Focus()方法允许程序在服务器端设置文本框的焦点..
八、回车焦点自动跳到下一个TEXTBOX
&%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %&
&!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&
&html xmlns="http://www.w3.org/1999/xhtml" &
&head runat="server"&
&title&无标题页&/title&
&script language=javascript&
function setfocus()
if(event.keyCode==13)
event.keyCode=9
&form id="Form1" onkeydown="setfocus()" runat="server"&
&DIV align="left"&
&asp:TextBox id="TextBox1" runat="server" &&/asp:TextBox&&/DIV&
&DIV align="left"&
&asp:TextBox id="TextBox2" runat="server"&&/asp:TextBox&&/DIV&
&DIV align="left"&
&asp:TextBox id="TextBox3" runat="server"&&/asp:TextBox&&/DIV&
&DIV align="left"& &/DIV&
&DIV align="left"&
&asp:Button id="Button1" runat="server" Text="Button"&&/asp:Button&&/DIV&
阅读(...) 评论()

我要回帖

更多关于 button 按下 抬起 的文章

 

随机推荐