C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: C#について


(過去ログ 177 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■101609 / inTopicNo.1)  C#について
  
□投稿者/ しー (1回)-(2023/03/20(Mon) 18:17:57)

分類:[C#] 

C#でランダムにフォームを表示させる方法が知りたいです。
引用返信 編集キー/
■101610 / inTopicNo.2)  Re[1]: C#について
□投稿者/ WebSurfer (2655回)-(2023/03/20(Mon) 18:41:25)
No101609 (しー さん) に返信
> C#でランダムにフォームを表示させる方法が知りたいです。

「フォーム」って何?

それより何より最初に開発環境ぐらいは書きませんか?
引用返信 編集キー/
■101613 / inTopicNo.3)  Re[2]: C#について
□投稿者/ しー (2回)-(2023/03/20(Mon) 19:08:01)
No101610 (WebSurfer さん) に返信
開発環境はvisual studioです。
フォームはWindowsFormのことです。
Buttonを押したらForm1&#12316;Form10までをランダムに表示させたいです。


引用返信 編集キー/
■101614 / inTopicNo.4)  Re[3]: C#について
□投稿者/ 魔界の仮面弁士 (3598回)-(2023/03/20(Mon) 19:19:56)
No101613 (しー さん) に返信
> 開発環境はvisual studioです。
Visual Studio を使っているのは暗黙の了解なので、次回からは、
Visual Studio のバージョン(とエディション)を示した方が良いですよ。

> フォームはWindowsFormのことです。
> Buttonを押したらForm1〜Form10までをランダムに表示させたいです。

その Button は、Form1〜Form10 の上にあるのですか?
それとも別の Form の上にあるのですか?



private Random random = new Random();
private void button1_Click(object sender, EventArgs e)
{
  int minFormId = 1;
  int maxFormId = 10;

  var formName = typeof(Form1).FullName.TrimEnd('1') + random.Next(minFormId, maxFormId + 1);
  var form = (Form)Activator.CreateInstance(Type.GetType(formName));
  form.StartPosition = FormStartPosition.CenterParent;
  form.Show(this);
}


なお、上記はモードレスで表示する場合の例です。

モーダルの場合は、「form.Show(this);」の代わりに
「using (form) { form.ShowDialog(this); }」とします。
引用返信 編集キー/
■101615 / inTopicNo.5)  Re[4]: C#について
□投稿者/ しー (4回)-(2023/03/20(Mon) 19:57:58)
No101614 (魔界の仮面弁士 さん) に返信
本当に助かりました!ありがとうございます!
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -