Simplify Your Code with Reflection: Listing 1: XML, Determine the Controls to Check

You can use XML to help you determine whether a user has made any changes to the data on one of your forms (if the form is "dirty"). This code checks for the standard TextBox, CheckBox, ComboBox, ListBox, CheckedListBox, and MonthCalendar controls, but you can easily add other custom controls with unique names to this list.

<?xml version="1.0" encoding="utf-8" ?>
<Controls>
   <Control>
      <Type>System.Windows.Forms.TextBox</Type>
      <Property1>Text</Property1>
      <Property2></Property2>
      <IsMultiList>No</IsMultiList>
      <PropertyToCheck></PropertyToCheck>
      <PropertyToCheckValue></PropertyToCheckValue>
   </Control>
   <Control>
      <Type>System.Windows.Forms.CheckBox</Type>
      <Property1>Checked</Property1>
      <Property2></Property2>
      <IsMultiList>No</IsMultiList>
      <PropertyToCheck></PropertyToCheck>
      <PropertyToCheckValue></PropertyToCheckValue>
   </Control>
   <Control>
      <Type>System.Windows.Forms.ComboBox</Type>
      <Property1>SelectedIndex</Property1>
      <Property2>Text</Property2>
      <IsMultiList>No</IsMultiList>
      <PropertyToCheck>DropDownStyle</PropertyToCheck>
      <PropertyToCheckValue>
         DropDownList</PropertyToCheckValue>
   </Control>
   <Control>
      <Type>System.Windows.Forms.ListBox</Type>
      <Property1>SelectedIndex</Property1>
      <Property2></Property2>
      <IsMultiList>Yes</IsMultiList>
      <PropertyToCheck>SelectionMode</PropertyToCheck>
      <PropertyToCheckValue>One</PropertyToCheckValue>
   </Control>
   <Control>
      <Type>System.Windows.Forms.CheckedListBox</Type>
      <Property1></Property1>
      <Property2></Property2>
      <IsMultiList>Yes</IsMultiList>
      <PropertyToCheck></PropertyToCheck>
      <PropertyToCheckValue></PropertyToCheckValue>
   </Control>
   <Control>
      <Type>System.Windows.Forms.MonthCalendar</Type>
      <Property1>SelectionStart</Property1>
      <Property2>SelectionEnd</Property2>
      <IsMultiList>No</IsMultiList>
      <PropertyToCheck></PropertyToCheck>
      <PropertyToCheckValue></PropertyToCheckValue>
   </Control>
</Controls>
comments powered by Disqus
Most   Popular
Upcoming Events

.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.