In addition to what memeloo said, you also only want to have one DateTime object (not 3).

With regard to the overuse of ToString() that I've mentioned in the past. Consider revisiing, this:

Code:
//'Set Alarm' Button
private void btn_alarm_Click(object sender, EventArgs e)
{
  int hr;
  int min;
  int sec;
  hr = int.Parse(num_hour.Value.ToString());
  min = int.Parse(num_min.Value.ToString());
  sec = int.Parse(num_sec.Value.ToString());
  SetAlarm(hr, min, sec);
}
to this
Code:
 
//'Set Alarm' Button
private void btn_alarm_Click(object sender, EventArgs e)
{
  SetAlarm( Convert.ToInt32( num_hour.Value )
    , Convert.ToInt32( num_min.Value )
    , Convert.ToInt32( num_sec.Value ) );
}
In this case, you don't really need the local hr, min, sec integer variables. Also, convert the value to a string only to parse it to an integer doesn't make much sense.

Lastly, when you post code, please use code tags (i.e [ CODE]your code here[/ CODE] minus the spaces).