Both forms are User Interface components. They shouldn't store information, just visualize (including the possibility to change) it. So both forms should target the same data set. Value range checks then belong to setters in the data model part:
public class SomeTimeRelatedStuff
{
private DateTime _checkInTime;
private DateTime _checkOutTime;
public DateTime CheckInTime
{
get { return(_checkInTime); }
set { _checkInTime = value; }
}
public DateTime CheckOutTime
{
get { return(_checkOutTime); }
}
public bool SetCheckOutTime(DateTime checkOutTime)
{
if(checkOutTime < _checkInTime)
{
return(false);
}
_checkOutTime = checkOutTime;
return(true);
}
}
In your UI code, you then call
SetCheckOutTime() with the value that user has entered. The return value tells you if that value has been accepted.
The nice part is that the checking is done in the data class. That class should know about its data and the relations that it has to have to its several parts. That helps keeping UI code clean of business logic.