i had stepped my code as u suggested and i made a break at the Fn
public static MessageBoxResult Show(string msg, string title, MessageBoxButton butsta)
if i made butsta=YesNo then every thing is fine and it work,but if i made butsta=YesNoCancel the step work fine untill reach the statement
msgBox.ShowDialog();
it execute it but doesn't show the dialog and immediately go to the next statement

return _msgboxresult; //the default value for _msgboxresult is None

then

the value for dlgResult was "None"