in the line:
rentTextBox.Text = aptId.rentTextBox.Text;
the error means one of the objects is null (aptId) in this case. you have a basic logic error. the code:
private void Rent_Load(object sender, EventArgs e)
{
rentTextBox.Text = aptId.rentTextBox.Text;
rentTextBox.Text = payment.rentTextBox.Text;
}
assume both aptId and payment are defined, but no code path does this. Your constructors only initial one of them, so no matter which constructor you call. as you are writing to the same field you only wanted to execute one f the statements:
private void Rent_Load(object sender, EventArgs e)
{
if (aptId != null)
rentTextBox.Text = aptId.rentTextBox.Text;
else if (payment != null)
rentTextBox.Text = payment.rentTextBox.Text;
else
rentTextBox.Text = "constructor called with null value";
}