WinForms版本ComponentOne 的InputPanel 提供了许多丰富的功能,列举如下:
简单的设置
拖拽一个C1InputPanel至您的窗体,连接到一个数据源,选择记录集合,之后每一个字段的输入组件将自动为您创建。全部的字段以及关联的标签始终保持对齐。同时将添加一个导航栏至窗体,在运行时为最终用户提供在记录之间导航的能力。
通用的.NET数据绑定
WinForms版本的InputPanel可以通用地绑定到任意的.NET数据源,仅需要添加很少的或者完全不必添加代码,允许您在数秒间创建一个完全的可导航的数据库浏览程序。
自动Tab键停靠顺序
对您的数据表单进行修改,无需担心需要重构整个窗体。
–添加组件并在窗体上对其进行移动,不需要丢弃整个窗体的结构。WinForms 版本 InputPanel在设计时,
WinForms 版本 InputPanel所以,在运行时,用户可以使用Tab键从一个条目到另一个条目,这是非常快速并且友好的编辑体验。
快捷键
当窗体通过来自于数据源的字段产生时,其快捷键是自动生成的。InputPanel提供了一个快捷键编辑器以管理任何新增加的快捷键,同时可以消除任何重复。
!worddavdeb50790b35c1045c8cc9cdb25d7b8f7.png|height=294,width=545!通过一个属性调整布局
您可以毫不费力地调整布局。默认情况下,数据将自动地按照一行一行的方式进行流布局。您可以通过设置一个属性打破流布局方式。例如,您可以将单行的流布局方式打破为一个两列布局的方式。仅需要通过修改一个属性,新的布局将显示两列,并且组件将保持对齐。如果没有WinForms 版本InputPanel的流布局管理
您必须一次移动一个组件,并且在最后调整全部组件的对齐方式。
使用Microsoft Office 2007 样式增强您的界面
WinForms版本InputPanel支持模仿Office 2007可用的视觉样式,包括Blue,Silver以及Black。
以图形效果和组件交互
运行时每一个字段的外观是可定制的,包括移动鼠标悬停在组件上方,按下,或者禁用控件的不同状态。对于这个图形效果,不需要任何额外的步骤。
滚动条自动按需添加
当窗体改变尺寸大小时,WinForms版本InputPanel将按照需要自动地添加水平和垂直滚动条。此功能在设计时和运行时均可用。
验证和错误处理
当用户输入无效的输入时,将自动提供一个可定制的可视化警告。一个红色的框将出现在输入组件周围。您还可以添加自定义的警告,如显示错误提示。例如,您可以允许最终用户仅能够输入字母字符,当用户输入其它类型的字符时,显示一个错误指示。 在同一个编辑器中管理您的任务
InputPanel允许您在面板中对各个项目进行重新排布,添加新的项目,以及对项目进行格式化。为了有效地管理这些任务,InputPanel提供了一个集合编辑器。该集合编辑器可以很容易从上下文菜单或智能标签进行访问。
设计器允许您为面板选择数据源,创建全部的输入组建,并可以编辑单独的组件(添加/移除/设置属性)。
关于设计器的更多信息,请参见C1InputPanel 设计器。
在窗体上排布组件所占的空间
安排你的窗体上的组件的空间,只需调整组件的Padding。您可以自由地增加或减少组件之间的间距,此时组件将保持整齐的对齐。您也可以通过使用HorizontalAlign或者VerticalAlign达到同样的目的。
添加工具提示以提升用户体验
在设计时,您可以非常容易地添加图形元素,比如说工具提示。ToolTipText属性有一个编辑器,在此您可以输入您的工具提示文本,或者添加图像,甚至支持HTML格式。
!worddavfee372e6e7939748241dd0d37c1c4e49.png|height=390,width=616!设计时的简单数据绑定
C1InputPanel 控件具有一个DataSource属性,可以在设计时进行设置,并能够自动的生成数据条目内置的组件。
在面板内简单,快速,灵活的对单个输入组件进行流布局
C1InputPanel 提供在面板内简单,快速,灵活的对单个输入组件进行流布局。其基本原理是一个具有可选的分隔符的流布局。在布局中,面板将控制焦点/tab键顺序,等等。
WinForms版本InputPanel快速入门
本章节提供了一个构建一个提供输入每一个员工的姓名、头衔、称谓、生日、雇佣日期、地址、城市、区域、邮编、地区、家庭电话、分机号、照片、备注以及字段报表的一个详细步骤指导。应用程序使用分组页眉将员工信息分成三类:员工的出生日期和姓名,工作职责和职位,以及员工的地址。完成这个快速入门将生成一个能够输入的应用程序,如下图所示:
第一步:为C1InputPanel创建一个数据源
在此步骤中,您将创建一个数据源,并在之后通过C1InputPanel 集合编辑器将其绑定到InputPanel的每一项。创建一个.NET工程,并完成以下步骤:添加新的数据源
- 在工程的工具栏上,从数据菜单选择添加新的数据源。将出现数据源配置向导对话框。
- 选择数据库并单击下一步。
- 单击"新建连接"。
- 在"添加连接"对话框中,单击"浏览"。
- 在选择微软Access数据库文件对话框,查找到Nwind.mdb(Vista / 7:C:\Users\
<username>\Documents\ComponentOne Samples\Common, In XP:C:\Documents and Settings\
<username>\My Documents\ComponentOne Samples\Common) ,单击打开,接下来单击OK。
- 单击"下一步"按钮继续。将出现一个对话框,询问你是否要添加数据文件到您的项目并修改连接字符串。因为不必将数据库复制到您的工程,请单击No。
- 确保"Yes, save the connection as "复选框为选中状态,并单击下一步以继续。
- 展开Tables节点,并选择Employees对象。
- 单击"完成"。一个数据集和连接字符串将添加到您的项目。
- 在Visual Studio 工具栏上展开数据分组,并双击BindingSource 将其添加到您的组件托盘中。
- 从属性窗体选择bindingSource1,设置其DataSource属性为nwindDataSet ,设置其DataMember属性为 Employees。
一个employeesTableAdapter 将添加至组件托盘,同时以下代码将添加到Form_Load事件的处理函数:
Visual Basic
Visual Basic
Me.EmployeesTableAdapter.Fill(Me.NwindDataSet.Employees)
C# C#
this.EmployeesTableAdapter.Fill(this.NwindDataSet.Employees);
第二步:通过编辑器添加第一组输入组件
为通过C1InputPanel项目集合编辑器添加并格式化输入组件,请完成以下任务:
- 调整Form1的尺寸为534x466。
- 向窗体添加C1InputPanel控件,并设置其Size属性的值为534x466,同时设置SmoothScaling 属性的值为 True。
- 右键单击C1InputPanel 控制并从菜单中选择编辑项目。将会出现C1InputPanel项目集合编辑器。
- 单击添加以添加InputGroupHeader组件至C1InputPanel,并设置其Text属性的值为"Employees"。
- 从C1InputPanel 项目集合编辑器的下拉列表框中选择InputDataNavigator并单击添加。
- 设置其DataSource属性为"bindingsource1"以及其InputComponent.Break 属性为None,因此下一个添加的元素会紧随其后。
- 从下拉列表框中选择InputButton,并单击添加。
- 设置此InputButton的Name为updateButton,Break属性的值为None,因此下一个输入元素将紧随其后,之后设置其Text属性的值为"Update"。
- 单击InputButton的Image属性以浏览希望添加到按钮的图像。
- 从下拉列表框中选择InputButton,并单击添加。
设置InputButton1的Name为refreshButton,并设置其Text为"Refresh"。
第三步:通过编辑器添加第二组的输入组件
为了使用C1InputPanel 项目集合编辑器向InputPanel添加第二组的输入组件,需要完成以下步骤:
- 从下拉列表框选择InputGroupHeader,单击Add,并设置Text 属性的值为"Personal Info"。
- 从下拉列表框选择InputLabel,并设置Text属性的值为"Name:"。
- 从下拉列表框选择InputTextBox,并单击Add。
- 设置InputTextBox1的Break属性为None,因此下一个输入元素将紧随其后。展开其DataBindings节点,并设置其文本为"bindingSource1-FirstName"。
- 从下拉列表框中选择InputTextBox,并单击Add。展开其DataBindings 节点,并设置其Text 为"bindingSource1-LastName"。
- 从下拉列表框中选择InputComboBox,并单击Add。展开其DataBindings节点,并设置其Text 为"bindingSource1-TitleOfCourtesy"。
- 从下拉列表框中选择InputLabel,并单击Add。设置其Text属性为"Birth Date:"。
- 从下拉列表框选择InputDatePicker,并单击Add。设置其Break属性为None,并展开其DataBindings节点,之后设置其BoundValue属性的值为"bindingSource1-BirthDate"。
- 从下拉列表框选择InputLabel,并单击Add。设置其Text属性的值为"Birth Time:"。
- 从下拉列表框选择InputTimePicker并单击Add。展开其DataBindings 节点并设置其BoundValue属性为"bindingSource1-BirthDate",同时设置其Break属性的值为Column。
- 从下拉列表框选择InputImage,并单击Add。展开其DataBindings节点并设置其Image属性的值为"bindingSource1-Photo"。
第四步:通过编辑器添加第三组输入组件
为了通过C1InputPanel项目集合编辑器向InputPanel添加第三组的输入组件,需完成以下步骤:
- 从下拉列表框中选择InputGroupHeader并单击Add。设置其Text 属性的值为"Job Information"。
- 从下拉列表框中选择InputLabel并单击Add。设置其Text属性的值为"Title:"。
- 从下拉列表框选择InputTextBox,并单击Add。展开其DataBindings节点并设置其Text属性的值为"bindingSource1-Title"。
- 从下拉列表框中选择InputLabel并单击Add。设置其Text属性的值为"HireDate:"。
- 从下拉列表框选择InputDatePicker,并单击Add。展开其DataBindings节点,并设置其Value属性的值为"bindingSource1-HireDate"。设置其ValueIsNull属性的值为False。
- 从下拉列表框中选择InputLabel并单击Add。设置其Text属性的值为"Reports To:"。
- 从下拉列表框选择InputComboBox,并单击Add。展开其DataBindings节点并设置其SelectedValue属性的值为"bindingSource1-ReportsTo",DataSource 属性的值为"BindingSource1", DisplayMember属性的值为"LastName",FormattingEnabled 属性的值为"True",ValueMember属性的值为"EmployeeID"。第五步:通过编辑器添加第四组的输入组件
为了通过C1InputPanel项目集合编辑器向C1InputPanel添加第四组的输入组件,需完成以下步骤:
- 从下拉列表框中选择InputGroupHeader并单击Add。设置其Text属性的值为"Address"。
- 从下拉列表框中选择InputLabel并单击Add。设置其Text属性的值为"Street"。
- 从下拉列表框中选择InputTextBox,并单击Add。设置其Multiline属性的值为True。展开其DataBindings节点,并设置其Text属性的值为"bindingSource1- Address"。
- 从下拉列表框中选择InputLabel并单击Add。设置其Text属性的值为"City,Region"。
- 从下拉列表框中选择InputTextBox 并单击Add。展开其DataBindings节点并将其Text属性的值设置为"bindingSource1-City"。设置Break属性的值为None。
- 从下拉列表框中选择InputTextBox 并单击Add。展开其DataBindings 节点并设置其Text属性的值为"bindingSource1-Region"。
- 从下拉列表框中选择InputLabel并单击Add。设置其Text属性的值为"Country:"。
- 从下拉列表框中选择InputTextBox 并单击Add。展开其DataBindings 节点并设置其Text属性的值为"bindingSource1-Country"。您已成功绑定C1InputPanel全部的元素至数据源。
按F5键运行您的应用程序。
为观察变化,需完成以下任务: 单击位于InputDataNavigator上的Move Next按钮。全部的输入字段将发生更新。
恭喜!
您已成功创建了一个数据源,用来绑定输入组件。此外,您还学习到了如何使用Break属性控制输入组件的布局。