Project #4 - Process Researcher - 15%
due by midnight, U Feb 5Please read the class
programming standards and the
GUI testlist.
Deduction for lateness is 10% per day for 5 days, then no credit.
Start early!
Specification version 1.0
, last updated
08/07/2006
|
GRADING CRITERION:
- 85% correct execution, including UI consistency, robustness,
and friendliness
- 15% coding practices (maintainability etc.)
Using Microsoft Visual C#, write a Process Researcher similar to mine
(download here):

NOTE: This executable, being a prototype, has not been properly stress-tested,
and I don't promise that it won't break or that it implements all features you
are asked to implement.
You may also wish to look at Ravi's version (download
here). It uses tabs for the web
browser part (worth extra credit):

RULES:
- Try to mimic the behavior of Pat's prototype insofar as it is sane.
Look and feel is up to you, but needs to be obvious to a user.
- You must display the number of processes found in the title bar, along
with the application name and short version (as shown in Pat's program above).
|
NOTE:
Remember that any buttons which do not apply, such as browser buttons that
cannot yet be used, should be disabled when not in use. |
- You must provide a Refresh button that starts the program over by
repopulating the list of processes and blanking the web browser control.
- Your application should start with a minimum size (small enough for an 800
x 600 screen) and allow the window to be made larger from there; it must also
allow maximization, and should remember window state and size.
- Your application should provide all the same buttons, menus and behavior
as Pat's prototype.
- Your application should not allow itself to run more than one copy of
itself and should pass the
GUI testlist.
SUGGESTIONS and RESOURCES:
- Here's the basic code needed to look up processes.
- Here's how to take a process name and
get Google to search for it.
- Here are some tips on using a web browser
control.
- You can use the listBox1_SelectedIndexChanged event to update the
details displayed about the currently selected process.
- In my prototype, the buttonResearch_Click and
listBox1_DoubleClick events do the same thing. I didn't want to
write the code twice, so I had one of the event handlers call the other.
- For persisting form size and position, see the code in
this tutorial. It also shows how
to prevent a program from running more than one copy of itself (see Main in
Form1) and how to set the icon on the .exe file. Finally, its code
illustrates some issues with resizing of forms.
EXTRA CREDIT OPPORTUNITY: (awarded only if all required functionality
is well-implemented)
- Use a tab control under the web browser control to allow multiple browser
tabs. However, if you do this, there must be an obvious way to delete
unwanted tabs after they are created. Good for 1.5% added onto
your course grade.
NOTE: Any extra credit for this assignment is added after the class
curve has been set.
GOALS:
- To practice using the Web Browser control.
- To practice making a complex graphical user interface such that it is sane, friendly, consistent and robust
(good luck).
GETTING HELP:
If you need help, try (in preferred order):
- posting to the Discussion Group in Blackboard
- call or find me or a TA
- send email (last resort)
TURN-IN:
The turn-in procedure for programming assignments is as follows:
- Create a folder with your emailID as its name. The folder
I would create would be pgpalmer; yours will be different. Place
your Visual Studio solution and project, and all related files, into
this folder.
- Test your copied program thoroughly to make sure it works.
- When fully tested, zip up the entire folder, including all files
underneath the folder.
NOTE: Please do not use the "save full path info" option.
Test unarchiving the zip file to make sure it produces all your files and
directories, but in whatever folder the person unzipping chooses (such as, on
the Desktop).
If correct, log into Blackboard and turn in the
zip file (via file upload in your web browser). Be sure to select
"Send File" (and not "Add File") in Blackboard's Drop Box.
Visitors:
