WinForm 2.0 应用一 无代码实现详细信息绑定
Your First Data-Bound Windows Forms 2.0 Application
To get your hands dirty early with Windows Forms 2.0 and Visual Studio 2005, the following procedures give a quick demonstration of their easy and powerful new capabilities. You can either follow along if you have a machine with Visual Studio 2005 handy or just use the figures to visualize the process. You will:
1.
|
Create a Windows application project
|
2.
|
Add a new data source and a data connection
|
3.
|
|
4.
|
Customize data sources control mappings
|
5.
|
Generate data-bound controls
|
6.
|
Run an application
|
Don't worry about understanding all of the steps at this point; they will be described in detail in later chapters.
Creating a Windows Application Project
1.
|
Start Visual Studio 2005. You'll see the Start Page (shown in Figure 1.2). Click Create to display the New Project dialog. If you don't see the Start Page, select File > New > Project from the menu.
Figure 1.2. Visual Studio Start Page
|
2.
|
In the New Project dialog (see Figure 1.3), expand the Visual C# option under Project types, and select the Windows Application template.
Figure 1.3. New Project Dialog
|
3.
|
Name the project FirstDataApp, select a working directory for the application in the Location field, and click OK.
|
At this point, you will have an open Windows Forms project with the default Form1 class displayed in the designer (see Figure 1.4).
Figure 1.4. Empty Windows Forms Project
Adding a New Data Source and a Data Connection
1.
|
From the Data menu, select Add New Data Source. This displays the Data Source Configuration wizard (see Figure 1.5).
Figure 1.5. Source Selection in the Data Source Configuration Wizard
|
2.
|
Select Database as the data source type and click Next. This displays a page to set your data connection (see Figure 1.6).
Figure 1.6. Data Source Configuration Wizard Connection Selection
Select the data connection that you want to use. The options available depend on whether you have previously configured data connections in Visual Studio 2005. Assuming that you haven't configured a connection to the Northwind database yet, you will need to add a new connection. If you have already set up data connections in Visual Studio 2005, continue with step 7. |
3.
|
Click the New Connection button. The first time you do this in Visual Studio 2005, the dialog shown in Figure 1.7 is displayed so you can select a data source provider.
Figure 1.7. Data Source Provider Selection
|
4.
|
Under Data source, select Microsoft SQL Server. The option under Data provider defaults to .NET Framework Provider for SQL Server. Click OK.
|
5.
|
In the Add Connection dialog (see Figure 1.8), enter localhost as the server name (if you are working with a local default instance of SQL Server 2000 or 2005 with Northwind on it). If you need help getting a database set up, are working with a nondefault instance, or need to work with SQL Server 2005 Express instead, see the book's Web site for instructions.
Figure 1.8. Add Connection Dialog
|
6.
|
Select Use Windows Authentication, enter Northwind as the database, and click OK.
|
7.
|
This redisplays the connection selection step of the Data Source Configuration wizard (Figure 1.6). Click Next. The page in Figure 1.9 is displayed.
Figure 1.9. Saving the Connection String
|
8.
|
To save the connection string information to the application configuration file, accept the default and click Next.
|
Selecting Data Objects
The last page of the Data Source Configuration wizard (Figure 1.10) displays a tree of the database objects contained in the database (in this case, the Northwind database) you selected in the connection step. This includes tables, views, stored procedures, and functions for a SQL Server database.
Figure 1.10. Database Object Selection
1.
|
Expand the Tables node and select the Employees table.
|
2.
|
Leave the data set name at the bottom as NorthwindDataSet and click Finish.
|
By completing this simple wizard, the designer generates approximately 2,000 lines of well-tuned data access code and data type definitions for you.
Customizing Data Sources Control Mappings
This procedure customizes the data source control mappings in Visual Studio.
1.
|
Open the Data Sources window by selecting Data > Show Data Sources.
|
2.
|
Expand the tree of data sources at the Employees level. This shows the tree of controls that can be generated automatically for data binding.
|
3.
|
Click on the drop-down arrow next to Photo and select PictureBox as the kind of bound control to be generated (see Figure 1.11).
Figure 1.11. Changing the Bound Control Type for the Photo Field
|
4.
|
Click on the drop-down arrow next to the Employees table at the top of the tree, changing its bound control type to Details (see Figure 1.12).
Figure 1.12. Changing the Bound Control Type for the Employees Table
|
Generating Data-Bound Controls
Now you are ready to generate some data-bound controls on the form.
1.
|
Left-click and hold on the Employees node in the Data Sources tree, drag it onto the upper left part of the form, about a half-inch down from the title bar, and release the mouse button.
|
2.
|
Let's do one last thing in the designer to make the result a little prettier. Select the PictureBox control that was added for the Photo field, to the right of the Photo: label in the form.
|
3.
|
In the Properties window in the bottom right of the Visual Studio IDE, scroll through the list of properties and right-click on SizeMode.
|
4.
|
Select Zoom in the drop-down list (see Figure 1.13).
Figure 1.13. Setting the SizeMode Property of the PictureBox Control
|
Running the Application
1.
|
You should see the application running, as shown in Figure 1.14. Without writing a single line of code by hand, you have a reasonably complex data access form which lets you view a set of records that has data types including text, dates, and images. You can use the navigation controls at the top of the form to page through the records, edit records, create new records, delete records, and save the changes made to records from memory back to the database.
Figure 1.14. Running FirstDataApp
If you aren't saying "Wow!", then you are either really hard to impress or you haven't spent much time trying to write applications like this before using Visual Studio 2005. With past technologies it took writing a lot of codeon par with the thousands of lines of code the designer just wrote for youto get something like this form hooked up and working correctly. And you had to write that same code over and over for every form like this you needed. It is likely that you made some mistakes along the way and had bugs in your forms that were (hopefully) caught in testing. This probably led to digging around in that code to find the problem and get it working correctly. With the designer writing the code, not only do you get it done in a miniscule fraction of the time, but the code is much more likely to be correct the first time for basic scenarios.
At this point you may be wondering, "If it's this simple, why do I need this big book to figure out data binding in Windows Forms 2.0?" Well, the real world is never simple. Although the designer simplifies coding common scenarios like the form we just generated, there will always be complex scenarios that your users or your marketing folks will want your application to support and that the designer isn't capable of coding for you. To address those scenarios, and to better understand all the simpler scenarios where the designer does help you, you need to dig a little deeper and spend a little more time. Also, anytime code is generated for you, it's risky to proceed with development if you don't understand the code that was generated. You will have to maintain that code, and you may have to make direct modifications to it or write similar code by hand to support more advanced scenarios. For all these reasons, you need to understand the material covered in the rest of this book.