我想在.NET Compact Framework中使用Form.ShowDialog()啓動的彈出窗體居中。在.NET CF Form對象中我沒有看到像StartPosition這樣的屬性。如何使用showdialog(.NET Compact Framework)中心表單
有人可以請建議我如何將彈出窗口集中在.NET CF 3.5中?
我想在.NET Compact Framework中使用Form.ShowDialog()啓動的彈出窗體居中。在.NET CF Form對象中我沒有看到像StartPosition這樣的屬性。如何使用showdialog(.NET Compact Framework)中心表單
有人可以請建議我如何將彈出窗口集中在.NET CF 3.5中?
您可以擴展方法,做的工作適合你:
public static class FormExtensions
{
public static void CenterForm(this Form theForm)
{
theForm.Location = new Point(
Screen.PrimaryScreen.WorkingArea.Width/2 - theForm.Width/2,
Screen.PrimaryScreen.WorkingArea.Height/2 - theForm.Height/2);
}
}
你這樣稱呼它:在
TheDialogForm f = new TheDialogForm();
f.CenterForm();
f.ShowDialog();
設置左和Top屬性的形式「 frmDialog_Activated事件
Private Sub frmDialog_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
Me.Left = (frmMain.Width - Me.Width)/2 ' AS Your Wish
Me.Top = (frmMain.Height - Me.Height)/2 + 165 '' AS Your Wish
End Sub
如果你希望你彈出的形式出現在屏幕中央默認在您的CA ñ只需在表單屬性中設置一個起始位置,它應該聽起來像'中心父'。
事情是這樣的:
form1.StartPosition = FormStartPosition.CenterScreen;
正如問題所述,'StartPosition'屬性在.NET Compact Framework中不可用。 – 2010-01-19 15:24:06
該死的我!我不會回答我很久以前用過的東西..真的:) – hoodoos 2010-01-19 20:59:18
如果家長沒有爲對話中定義,然後使用
login.StartPosition = FormStartPosition.CenterScreen;
login.ShowDialog();
,其中登錄名是Form
對象
,或者如果你是,你還可以使用呼叫現有父母的頂部Form
login.StartPosition = FormStartPosition.CenterParent;
login.ShowDialog();
如果您認爲該屬性始終與您相同,則也可以在Form
的屬性對話框中設置此屬性。默認情況下,應設置爲CenterParent,這將不工作的情況下,將調用您的Form
在某些情況下,家長Form
,像登錄界面首次等
這是最簡單的方式
Form f= new AmrDealForm();
f.CenterToScreen();
f.ShowDialog();
前
我知道這是舊的文章,但我有同樣的問題,我用這種方式解決:
我創建一個接口:
public interface FormExtensions
{
void CenterForm(Form forma);
}
我做了後實現我的類接口:
public partial class frmFirma : Form, FormExtensions
{
public frmFirma()
{
InitializeComponent();
}
public void CenterForm(Form forma)
{
forma.Location = new Point(
Screen.PrimaryScreen.WorkingArea.Width/2 - forma.Width/2,
Screen.PrimaryScreen.WorkingArea.Height/2 - forma.Height/2);
}
}
那麼我可以箱的一個實例:「frmFirma」的調用方法「CenterForm」:
private void pictureBox1_DoubleClick(object sender, EventArgs e)
{
Formas.frmFirma firma = new Formas.frmFirma();
firma.CenterForm(firma);
firma.ShowDialog();
}
我希望這個工程有人。
嘗試其他屬性請參閱http://stackoverflow.com/questions/944897/show-a-child-form-in-the-centre-of-parent-form-in-c – Brij 2010-01-16 08:10:45