怎么用TextBox实现一个输入提示的功能,用的是WinFrom窗体不是网页

不是验证提示,是类似于百度,谷歌搜索引擎那样的提示如输入“人”就自动提示出“人们”,“人类”……

Winform中可以使用webService服务来做.

第一步,创建webservice
using System;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
public Service()
{

//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}

[WebMethod]
public string[] HelloWorld(string ss)
{
//查询相关信息放入数组
return 数组;
}

}

第二步,要使用textbox,则需ListBox的支持,具体操作:
在textbox下方有一个隐藏的ListBox,当在textbox输入值时,调用服务返回值要在Listbox中显示,同时要ListBox显示.

第三步,在TextBox的TextChanged事件里做提示:
private void textBox1_TextChanged(object sender, EventArgs e)
{
//调用webservice
//返回结果添加到ListBox
//ListBox.Visible = true;
}

第四步,在listbox项选择事件里添加:
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
textBox1.Text = listBox1.SelectedItem.ToString();
listBox1.Visible = false;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-19
下拉提示,代码是没有的,我就说说原理吧,在TextBox的TextChanged事件里做提示:
这个TextChanged不是服务器控件,是搞成js里的方法,
<input type="text" onchanged="aa()"/> 这样!
然后js里面写aa方法,实现ajax调用数据库,查询关键字表里面如有数据,然后返回10条数据出来,然后用div显示在下面,同时显示出来!!如果代码不会写的话,可以在百度里面找找,应该有这样的代码。以前我也做过。。。
第2个回答  2011-01-20
这个就多的去了
随便说个好用的吧,我现在有两个窗体FORM1和FORM2
现在我需要在form1中的lable1上显示form2中里面的ComboBox的选择的值
form1某个按钮点击事件
{ Form2.f = new Form2();
f.f3 = this;
f.Show();
f.form2check += new Form2.Form2Checked(f_form3check);//调用自己在form2里面写的一个事件
}
void f_form2check(string sender, EventArgs e)
{ //这就是上面的那个事件了
label1.Text = sender;
}

form2里面就要自己写个这样的东西,叫事件
public delegate void Form2Checked(string sender, EventArgs e);
public event Form3Checked form2check;
//在那个ComboBox的什么change事件里面写
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
form2check(comboBox1.Text, e);
}
第3个回答  2011-01-19
linkbutton 超级链接样式按钮
hyperlink 超级链接
dropdownlist
Web 服务器控件,用户可以从单项选择下拉列表框中进行选择。DropDownList 控件与 ListBox Web 服务器控件类似。不同之处在于它只在框中显示选定项,同时还显示下拉按钮。当用户单击此按钮时,将显示项的列表。
listbox
控件显示一个项列表,用户可从中选择一项或多项
datagrid ,datalist ,repeater
用户进行数据显示的控件,datagrid具有分页功能和排序功能,datalist自带的没有分页和排序功能,但是可以灵活的在里面添加HTML标记来自定义显示格式,repeater即没有灵活的格式,也没有分页和排序,但是绑定速度快
checkbox ,checkboxlist
可以使用两种类型的 Web 服务器控件将复选框添加到 Web 窗体页上:单个的 CheckBox 控件或 CheckBoxList 控件。两种控件都为用户提供了一种输入布尔型数据(真或假、是或否)的方法。
您可以向页面添加单个 CheckBox 控件,并单独使用这些控件。作为另外一种 Web 服务器控件类型,CheckBoxList 控件则是单个控件,可作为复选框列表项集合的父控件。它派生自 ListControl 基类,因此工作方式与 ListBox、DropDownList、RadioButtonList 和 BulletedList Web 服务器控件非常相似。正因为如此,使用 CheckBoxList 控件的许多过程与使用其他列表 Web 服务器控件的过程相同。
每类控件都有各自的优点。使用单个 CheckBox 控件比使用 CheckBoxList 控件能更好地控制页面上各个复选框的布局。例如,可以在各个复选框之间包含文本(即非复选框的文本)。您也可以控制个别复选框的字体和颜色。
如果想用数据库中的数据创建一组复选框,则 CheckBoxList 控件是较好的选择。(您仍可以将单个的 CheckBox 控件绑定到数据。)
radiobuttonlist ,radiobutton
RadioButton 服务器控件在 Web 窗体页上创建一个单选按钮。通过设置 Text 属性指定要在控件中显示的文本。该文本可显示在单选按钮的左侧或右侧。设置 TextAlign 属性以控制该文本显示在哪一侧。如果为每个 RadioButton 控件指定了相同的 GroupName,则可以将多个单选按钮分为一组。将单选按钮分为一组将只允许从该组中进行互相排斥的选择。
您还可以使用 RadioButtonList 控件。对于使用数据绑定创建一组单选按钮而言,RadioButtonList 控件更易于使用,而单个 RadioButton 控件则使您能够更好地控制布局。
若要确定 RadioButton 控件是否已选中,请测试 Checked 属性。
panel
Panel Web 服务器控件在页面内为其他控件提供一个容器。通过将多个控件放入一个 Panel 控件,可将它们作为一个单元进行控制,如隐藏或显示它们。您还可以使用 Panel 控件为一组控件创建独特的外观。
placeholder
ASP.NET PlaceHolder Web 服务器控件使您能够将空容器控件放置到页上,然后在运行时动态地将子元素添加到该容器中。
calendar
Calendar Web 服务器控件在 ASP.NET 网页中显示一个单月份日历。用户可使用该日历查看和选择日期。
adrotator
ASP.NET 移动 Web 窗体 AdRotator 控件(基于 ASP.NET Web 窗体 AdRotator 控件)用于随机并循环显示一组广告横幅。AdRotator 控件自动进行循环处理,每刷新一次页面改变一次显示内容。可以对广告进行加权以控制横幅的优先级,从而使某些广告的显示频率高于其他广告。
您的应用程序也可以使用自定义逻辑来循环通过广告。若要在移动 Web 窗体页上生成广告,您必须提供广告的图像文件。您可以使广告图像与用户单击广告链接时将浏览到的目标 URL 相关联。
AdRotator 控件必须放置在 Form 或 Panel 控件内,或控件的模板内。AdRotator 控件需要包含图像的 URL 的 XML 文件。此文件还可以指定每个广告的导航链接。使用 AdRotator 控件“属性”窗口中的 AdvertisementFile 属性可以使该控件与 XML 文件关联。
requirefieldvalidator
计算输入控件的值以确保用户输入值。使用 RequiredFieldValidator 控件使输入控件成为强制字段。当验证执行时,如果输入控件包含的值仍为初始值而未更改,则该输入控件验证失败。这会防止用户使关联的输入控件保持不变。默认情况下,初始值为空字符串 (),这指示必须在输入控件中输入值方可通过验证。
请在执行验证之前移除输入值前后的多余空格。这样可防止在输入控件中输入的空格通过验证。
有时,您可能希望初始值不为空字符串。当输入控件具有默认值而且希望用户选择其他值时,这将非常有用。例如,默认情况下,可能有一个具有选定输入的 ListBox 控件,其中包含用户从列表中选择项的说明。用户必须从控件中选择一项,但您不希望用户选择包含说明的项。您可通过将该项的值指定为初始值来防止用户选择该项。如果用户选择该项,RequiredFieldValidator 控件将显示它的错误信息。若要指定关联输入控件的起始值,请设置 InitialValue 属性。
comparevalidator
将输入控件的值同常数值或其他输入控件的值相比较,以确定这两个值是否与由比较运算符(小于、等于、大于等等)指定的关系相匹配。
CompareValidator 控件使您能够将用户输入到一个输入控件(如 TextBox 控件)中的值与输入到另一个输入控件中的值或某个常数值进行比较。还可以使用 CompareValidator 控件确定输入到输入控件中的值是否可以转换为 Type 属性指定的数据类型。
通过设置 ControlToValidate 属性来指定要验证的输入控件。如果要将特定的输入控件与另一个输入控件进行比较,请用要比较的控件的名称设置 ControlToCompare 属性。
可以将一个输入控件的值同某个常数值相比较,而不是比较两个输入控件的值。通过设置 ValueToCompare 属性来指定要比较的常数值。
Operator 属性允许您指定要执行的比较类型,如大于、等于等。如果将 Operator 属性设置为 ValidationCompareOperator.DataTypeCheck,则 CompareValidator 控件将忽略 ControlToCompare 和 ValueToCompare 属性并且只表明输入控件中输入的值是否可以转换为 Type 属性指定的数据类型。
如果输入控件为空,则不调用任何验证函数且验证成功。使用 RequiredFieldValidator 控件防止用户跳过某个输入控件。
validationsummary
显示 Web 页上所有验证错误的列表。
ValidationSummary 控件允许在单个位置概述网页上所有验证控件的错误信息。基于 DisplayMode 属性的值,该摘要可显示为列表、项目符号列表或单个段落。ValidationSummary 控件中为页面上每个验证控件显示的错误信息,是由每个验证控件的 ErrorMessage 属性指定的。如果没有设置验证控件的 ErrorMessage 属性,将不会在 ValidationSummary 控件中为该验证控件显示错误信息。通过设置 HeaderText 属性,还可以在 ValidationSummary 控件的标题部分指定一个自定义标题。
通过设置 ShowSummary 属性,可以控制 ValidationSummary 控件是显示还是隐藏。还可通过将 ShowMessageBox 属性设置为 true,在消息框中显示摘要。
xml
可扩展标记语言 (XML) 是一种提供数据描述格式的标记语言。该语言使跨越多个平台进行更准确的内容声明和获得更有意义的搜索结果变得更加容易。此外,XML 实现了表示与数据的分离。例如,在 HTML 中,使用标记来告诉浏览器将数据显示为粗体或斜体;而在 XML 中,标记只用于描述数据,例如城市名、温度和大气压。在 XML 中,使用样式表(例如,可扩展样式表语言 (XSL) 和层叠样式表 (CSS))在浏览器中显示数据。XML 使数据与表示及处理分离开来,通过应用不同的样式表和应用程序,使您能够根据需要显示和处理数据。
XML 是为在 Web 上传送而进行优化了的 SGML 的子集。它是由万维网联合会 (W3C) 定义的。该标准化确保了结构化数据的统一性和相对于应用或供应商的独立性。
XML 是 Visual Studio 和 .NET Framework 的许多功能的核心。下面的主题列表指定了与 XML 相关、在 Visual Studio 和 .NET Framework 中提供的工具和功能。
literal
在您要以编程方式设置文本而不添加额外的 HTML 标记时,可以向页面添加 Literal Web 服务器控件。在要向页面动态添加文本而不添加任何不属于该动态文本的元素时,Literal 控件非常有用。例如,您可以使用 Literal 控件来显示从文件或流中读取的 HTML。
如果要显示静态文本,则可以使用 HTML 呈现它;不需要 Literal 控件。只有在需要以编程方式呈现文本时才使用 Literal 控件。
crystalreportviewer
Crystal Reports for Visual Studio 2005 使用报表查看器控件在 Web 或 Windows 窗体上显示报表。这些查看器基于 ASP.NET Web 服务器控件格式。
Crystal Reports for Visual Studio 2005 的所有版本中提供的报表查看器控件都是 CrystalReportViewer 控件。CrystalReportViewer 控件封装了在窗体上正确显示报表所需的全部显示信息。它还具有用于配置该控件的外观的属性。
注意 Crystal Reports 开发人员版 提供了一些附加的专用报表查看器控件,用于在浏览器或移动设备中显示报表部件。
第4个回答  2011-01-19
完全同意二楼说法

怎么用TextBox实现一个输入提示的功能,用的是WinFrom窗体不是网页
第二步,要使用textbox,则需ListBox的支持,具体操作:在textbox下方有一个隐藏的ListBox,当在textbox输入值时,调用服务返回值要在Listbox中显示,同时要ListBox显示.第三步,在TextBox的TextChanged事件里做提示:private void textBox1_TextChanged(object sender, EventArgs e){ \/\/调用webservice \/\/返回...

如何在winfrom的textbox中输入4位加一个空格
每四位加个空格?用个函数处理keydown事件,每次有键按下就判断下字符长度,够长了就textbox.text=textbox.text+ " "

在winfrom中怎样验证TextBox输入的文本是"10为大写字母和数字", "11...
if(TextBox1.Text=="10为大写字母和数字" or TextBox1.Text == "11位数字"){ \/\/做事件 } else \/\/不相等 { \/\/ 做事件 }

C# winfrom中怎么得到输入的是tab键
Override From的ProcessCmdKey方法。protected override bool ProcessCmdKey( ref Message msg, Keys keyData ){ if ( keyData == Keys.Tab ){ MessageBox.Show( "抓住Tab " );return true;} return base.ProcessCmdKey( ref msg, key...

C# winfrom 某管理系统中要设置一个查看浏览历史的怎么实现?
首先,定义一个String的全局变量(假设全局变量名为 windowName)其次,在打开窗体的时候执行:windowName + = " 所打开的窗体的名称 ";最后,在浏览历史的页面中(假设此页面中有个textbox用来显示历史的话)textbox1.text = windowName OK .思路差不多就是这样。你试试吧。。

C#(Winfrom)窗体传值问题(子窗体回传值给父窗体)
实现思路:在子窗体定义委托 父窗体接收

...分别winfrom1,winfrom2,现在是winfrom1中from1窗体中有个dataGrid...
在winform2写个方法 如:public void bindData(string data){ textBox1.Text = data;this.Show();} 在winform1 string data="从dataGridView取出来的值";Form2 f2 = new Form2();f2.bindData(data);OK?

winfrom中 怎么实现类型vs中代码提示的功能,我的目的是实现输入员工的拼...
VS中代码提示那个叫做"智能提示",是.NET通过元数据完成的功能。你是希望通过拼音码查询员工姓名,这个就需要你自己编辑算法来实现。这个不是很简单,推荐你使用模糊提示,例如输入"李",出现"李芳"、"李明"等。你可以通过"select * from name where name like '李%'"这样的模糊查询语句完成。

C#winfrome选择打开的文件文件路径怎么保存到textBox上软件重启后,再次...
基本思路是:可以将使用程序浏览打开过的路径保存到程序的配置文件,当程序启动时,读取配置文件内容,将配置文件中存储的浏览路径显示到TextBox控件上。

如何获得另外winfrom的值 vs 2010的
你好!login登录时 string str=textbox1.Text;formian f=new formian(str);\/\/这边传递参数过去 f.Show();在formian 窗体里有个初始化 public formian (){ InitializeComponent();} 把上面的复制一遍,然后加上参数,赋值就可以了 public formian (string str){ InitializeComponent();textbox2....

相似回答