0
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をクリックして、新しいフォームで新しいフォームbutton1を開いたり表示したりすると、Enabled = falseになり、ユーザーが新しいForm button1のtextBoxに何かを入力すると、trueが有効になります。その場合にのみ、ユーザーは新しいフォームのbutton1をクリックしてOKになります(新しいフォームのボタンのテキストはOKです)。

新しいフォームでbutton1textchangedイベントで使用しようとしましたが、機能しませんでした。ボタンをクリックして初めてfalseになりました。

4

3 に答える 3

4

このコードで試すことができます-に基づいて TextChanged event

protected void TextBox1_TextChanged(object sender, EventArgs e)
{
   if(TextBox1.Text.Trim().Length > 0)
   {
      Button.Enabled = true;
   }
}

注:ボタンを初期化します。falseに有効にします。制御上

于 2012-10-12T14:43:14.350 に答える
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;
    }
}
于 2012-10-12T14:49:12.950 に答える
0
private void textBox1_TextChanged(object sender, EventArgs e) {
    button1.Enabled = true;
}
于 2012-10-12T14:44:19.033 に答える