<p>I'm creating a UI that allows the user the select a date range, and tick or un-tick the days of the week that apply within the date range.</p>

<p>The date range controls are <code>DateTimePickers</code>, and the Days of the Week are <code>CheckBoxes</code></p>

<p>Here's a mock-up of the UI:</p>

<p><code>From Date: (dtpDateFrom)</code><br/>
<code>To Date:   (dtpDateTo)</code></p>

<p><code>[y] Monday,   [n] Tuesday,   [y] Wednesday, (etc)</code></p>

<p>What's the best way to show a total count the number of days, based not only on the date range, but the ticked (or selected) days of the week?</p>

<p>Is looping through the date range my only option?</p>

Looping through wouldn't be your only option - you could perform
subtraction
to figure out the total number of days, and subtract one for each of your "skipped" dates every week range in between that contains one of those days. By the time you figure out whether a day lands on one of the partial weeks at the beginning or end of the range and add
```
#weeks * skipped days in a week
```
, your code will be more complicated than it would be if just counted, but if you're expecting to have huge date ranges, it might perform better.
If I were you, I'd write the simple looping option and rewrite it if it turned out that profiling revealed it to be a bottleneck.