Una solucion que a mi se me viene a la mente es utilizar una bandera la cual va tener el estado false o true si se puso un punto.
bool bandera = true;
private void textBox_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 )
{
if (e.KeyChar=='.' && bandera )
{
bandera = false; //ya no acepta otro punto
}
e.Handled = true; //
}
}