-1
以下のコードを使用してライトボックスの効果を作り、期待どおりに動作します。しかし、親フォームを移動すると、画面の中央にポップアップが表示されます。新しいフォームの場所を設定する
// Execute this code from parent form
Form f = new Form();
f.ShowInTaskbar = false;
f.BackColor = Color.Black;
f.Size = this.Size;
f.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
f.StartPosition = this.StartPosition;
f.Opacity = 0.6;
f.Show();
私は上記のコードを以下のように変更しました。
f.StartPosition = FormStartPosition.CenterParent;
ただし、親フォームのポップアップセンターはまだありません。
また、以下も試してみましたが、うまくいきませんでした。
f.SetBounds(this.Location.X, this.Location.Y,this.Width, this.Height);
私は既にここで解決策を試しました。
Show a child form in the centre of Parent form in C#
彼らはまた、動作しませんでした。
私がしたいことは、同じサイズと同じ場所の2番目のフォームを作成することです。
@stuardトピックは重複していません。このマークを削除してください。私はその話題の答えもありませんでした。また私はすでに私の質問でそれを言った。私の質問をまず読んでください。 –
私は解決策が指摘したのと同じ方法で "子供"フォームのStartPositionプロパティを定義しているので、問題は既存の質問で解決されているとは思われません。 –
私はあなたの作成したフォームがあなたの親フォームの子ではないと推測しているので、https://stackoverflow.com/questions/6463894/creating-form-inside-the-form の代わりにこれをチェックしてください。それがあなたが望む行動を達成していない理由です。 –