using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace GatherLinks
{
public partial class CrawlLocaly : Form
{
public CrawlLocaly()
{
InitializeComponent();
}
public string getText()
{
return textBox1.Text;
}
private void button1_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(textBox1.Text))
{
DialogResult = DialogResult.OK;
}
else
{
}
}
}
}
在Form1中我显示此表单及其textBox:
private void button6_Click(object sender, EventArgs e)
{
using (var w = new StreamWriter(keywords))
{
crawlLocaly1 = new CrawlLocaly();
crawlLocaly1.StartPosition = FormStartPosition.CenterParent;
DialogResult dr = crawlLocaly1.ShowDialog(this);
我想在crawlLocaly新表单中进行操作,当我在Form1中单击并打开/显示新表单上的新表单按钮1将是Enabled = false并且一旦用户在新表单按钮1中键入textBox中的任何内容启用为true,然后用户才能点击新表格中的button1即可(新表格中的按钮文字正常)。
尝试在新表单中使用button1 textchanged事件,但它没有用。只有点击它后按钮才变为假。
答案 0 :(得分:4)
您可以尝试使用此代码 - 基于TextChanged event
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
if(TextBox1.Text.Trim().Length > 0)
{
Button.Enabled = true;
}
}
Nota:将Button.Enabled初始化为false;在控制
答案 1 :(得分:2)
如果你想把它保存在C#中你可以这样做,不要忘记将AutoPostBack设置为True并测试长度是否为0以再次禁用该按钮:
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" Enabled="false" />
<asp:TextBox ID="TextBox1" runat="server" AutoPostBack="true" OnTextChanged="TextBox1_OntTextChanged" />
protected void TextBox1_OntTextChanged(object sender, EventArgs e)
{
if (TextBox1.Text.Length > 0)
{
Button1.Enabled = true;
}
else
{
Button1.Enabled = false;
}
}
答案 2 :(得分:0)
private void textBox1_TextChanged(object sender, EventArgs e) {
button1.Enabled = true;
}