|
|
|
|
1. |
Briefly describe how to use
the PrintDocument component to print a document. Discuss
maintaining correct line spacing and multipage
documents. |
|
|
The PrintDocument class
exposes the Print method, which raises the PrintPage
event. Code to render printed items to the printer
should be placed in the PrintPage event handler. The
PrintPage event handler provides the objects required to
render to the printer in an instance of the
PagePrintEventArgs class. Content is rendered to the
printer using the Graphics object provided by
PagePrintEventArgs. You can calculate correct line
spacing by dividing the height of the MarginBounds
property by the height of the font you are rendering. If
your document has multiple pages, you must set the
PagePrintEventArgs.HasMorePages property to true, which
causes the PrintPage event to fire again. Because the
PrintPage event handler retains no inherent memory of
how many pages have been printed, you must incorporate
all logic for printing multiple pages into your event
handler.
|
|
2. |
Explain how to use the
Begin and End methods on a Web Service to make an
asynchronous method call. |
|
|
Every public Web method on
a Web Service can be called either synchronously or
asynchronously. To make an asynchronous call to a Web
method, you call the method named Begin<webmethod>,
where <webmethod> is the name of the method. This method
requires a delegate to an appropriate callback method
and returns a value of IAsyncResult. This value is
returned as a parameter in the callback method. To
retrieve the data returned by the Web method, call End<webmethod>,
supplying a reference to the IAsyncResult returned by
Begin<webmethod>. This will allow you to retrieve the
actual data returned by the Web method.
|
|
3. |
Briefly describe the five
accessibility requirements of the Certified for Windows
logo program.
The five requirements are |
|
|
Support standard system
settings. This requires your application to ¬be able to
conform to system settings for colors, fonts, and other
UI elements.
o Be compatible with High Contrast mode. This
requirement can be met by using only the System palette
for UI colors.
o Provide documented keyboard access for all UI
features. Key points in this requirement are shortcut
keys and accessible documentation.
o Provide notification of the focus location. This
requirement is handled primarily by the .NET Framework.
o Convey no information by sound alone. This requirement
can be met by providing redundant means of conveying
information.
|
|
4. |
Explain how to use the
HelpProvider component to provide help for UI elements. |
|
|
You can provide either a
HelpString or a help topic for UI elements with the
HelpProvider. The HelpProvider provides HelpString,
HelpKeyWord, and HelpNavigator properties for each
control on the form. If no value for the
HelpProvider.HelpNameSpace is set, the HelpString will
be provided as help. If the HelpNameSpace is set, the
HelpProvider will display the appropriate help topic as
configured by the HelpKeyWord and HelpNavigator
properties. Help for a particular element is displayed
when the element has the focus and the F1 key is
pressed.
|
|
5. |
Describe how to create
localized versions of a form. |
|
|
To create a localized
version of a form, set the Localizable property to true.
Then set the Language property to the language/region
for which you want to create the localized form. Make
any localization-related changes in the UI. The changed
property values will automatically be stored in resource
files and loaded when the CurrentUICulture is set to the
appropriate CultureInfo.
|
|
6. |
Explain how to convert data
in legacy code page formats to the Unicode format. |
|
|
You can use the
Encoding.Convert method to convert data between encoding
types. This method requires instances of both encoding
types and an array of bytes that represents the data to
be converted. It returns an array of bytes in the target
format. You can convert a string or array of chars to an
array of bytes with the Encoding.GetBytes method and can
convert an array of bytes back to chars with the
Encoding.GetChars method.
|
|
7. |
Explain the difference
between Globalization and Localization. |
|
|
Globalization refers to the
application of culture-specific format to existing data.
Localization refers to providing new culture-specific
resources and retrieving the appropriate resources based
on the culture setting.
|
|
8. |
Explain how to use the
PrintPreviewDialog control to display a preview of a
printed document before it is printed. |
|
|
You display a preview of a
printed document with the PrintPreviewDialog control by
first setting the PrintDocument property of the
PrintPreviewDialog instance to the PrintDocument you
want to preview, then by calling the
PrintPreviewDialog.Show command to display the dialog
box.
|
|
9. |
What are the different
approaches to testing? |
|
|
There are two different
approaches to testing: the waterfall approach and the
evolutionary approach.
|
|
10. |
Explain the waterfall
approach. |
|
|
The waterfall approach is a
traditional approach in which each developer in the
development team works in phases. These phases cover
requirement analysis, design and specifications
requirements, coding, final testing, and release.
|
|
11. |
Explain the evolutionary
approach. |
|
|
In the evolutionary
approach, you develop a modular piece or unit of
application, test it, fix it, and then add another small
piece that adds functionality. You then test the two
units as an integrated component, increasing the
complexity as you proceed.
|
|
12. |
How does the Visual Studio
.NET debugger work? |
|
|
When you debug a Visual
Studio .NET application, the debugger first maps the
native code to MSIL, and then maps the MSIL code to
source code by using a PDB file.
|
|
13. |
What are the main windows
and dialog boxes that you use to debug a Visual Studio
.NET application? |
|
|
The main windows and dialog
boxes that you use to debug a Visual Studio .NET
application are the Visual Studio .NET debugger window,
Breakpoints window, Watch window, Call Stack window,
Locals window, Autos window, and Processes window.
|
|
14. |
What is code
instrumentation? |
|
|
Code instrumentation is a
set of tasks that you perform to monitor and analyze
information about the performance of your applications.
It involves activities such as writing tracing code for
the application, collecting trace information, analyzing
the trace output, and troubleshooting the problems that
occur at run time.
|
|
15. |
How do you implement code
instrumentation? |
|
|
You can implement code
instrumentation by using tracing, debugging, performance
counters, and event logs.
|
|
16. |
Which tool do you need to
use to convert .txt files to .resources files? |
|
|
If you have text files as
resources, then you can use the ResGen.exe tool to
convert .txt files to .resources files. The syntax for
using the ResGen.exe tool is
ResGen strings.txt myResources.resource
|
|
17. |
Which tool do you need to
use to compile the .resources files into satellite
assemblies? |
|
|
Once you have created
.resources files, you can compile them into satellite
assemblies by using Al.exe, the Assembly Linker (AL)
tool. The AL tool creates satellite assemblies from the
.resources files that you specify. As you know,
satellite assemblies cannot contain any executable code
and can contain only resources.
The following command shows you how to use the Al.exe
tool to generate a satellite assembly:
al /t:lib /embed:myResource.resources /culture:de /out:MyRes.resources.dll
|
|
18. |
What are the deployment
features of the .NET Framework? |
|
|
The .NET Framework provides
the following deployment features:
o No-impact applications
o Private components
o Controlled code sharing
o Side-by-side versioning
o Xcopy deployment
o On-the-fly updates
o Integration with Microsoft Windows Installer
o Enterprise deployment
o Downloading and caching
o Partially trusted code
|
|
19. |
What is the format of the
assembly version stored in the AssemblyInfo file? |
|
|
The assembly version number
is a four-part number. The format of the version number
is
<\major version>.<minor version>.<build
number>.<revision>
|
|
20. |
Which attribute do you use
to specify the version number of an assembly? |
|
|
You use the AssemblyVersion()
attribute to specify the version of an assembly.
|
|
21. |
What are Merge Module
projects? |
|
|
Merge Module projects
enable you to install and deploy components
consistently. Merge Module projects ensure that the
correct version of a component is installed on the
target computer. A Merge Module project contains a
component such as a DLL along with dependent files,
resources, registry entries, and setup logic. You cannot
install merge modules directly. The modules are merged
with an .msi file for each application that uses the
component. This ensures that the component is installed
consistently for all applications, eliminating problems
such as version conflicts, missing registry entries, and
improperly installed files. A merge module contains
unique version information that the Windows Installer
database uses to determine which applications can use
the component, preventing the premature removal of a
component. Therefore, a new merge module is created for
every incremental version of a component. You should not
update a merge module after including the module in an
installer. The deployment tools in Visual Studio .NET
make it easy to create Merge Modules and include them in
installers for your applications.
|
|
22. |
What type of Setup project
do you create to deploy XML Web services? |
|
|
To deploy XML Web services,
you create a Web Setup project.
|
|
23. |
Which tools does the .NET
Framework provide to export types defined in an assembly
to a type library? |
|
|
The .NET Framework provides
the Type Library Exporter (Tlbexp.exe) to export types
defined in an assembly to a type library.
|
|
24. |
Which tool can you use to
register managed types with the Windows registry? |
|
|
You can use the Assembly
Registration Tool (Regasm.exe) to register managed types
with the Windows registry.
|
|
25. |
What tasks does the common
language runtime perform to locate and bind an assembly? |
|
|
The common language runtime
performs the following tasks, in the order listed, to
locate and bind to assemblies:
o Determines the correct assembly version
o Checks for the previously loaded assembly
o Checks the global assembly cache
o Locates the assembly through the codebase setting or
probing
|