تفاوت بین متدهای Show و ShowDialog

از این متدها در ویندوز فرم برای فراخوانی یک فرم در داخل فرم دیگر استفاده می شود.
مثال : فرض کنید ما دو فرم داریم (Form1 و Form2). می خواهیم فرم دوم را در داخل فرم اول فراخوانی کنیم :

private void button1_Click(object s, EventArgs e) 
{ 
    Form2 f=new Form2(); 
    f.Show(); 
} 

در کد بالا می توان از ShowDialog هم استفاده کرد.

تفاوت:
اگر از متد ShowDialog استفاده کنید، با ظاهر شدن فرم 2 دیگر نمی توان بر روی فرم 1 یا قسمت های دیگر کلیک کرد ولی استفاده از متد Show به شما امکان کلیک بر روی سایر قسمت های برنامه را می دهد.