- PR -

.netでのフォームの遷移について

投稿者投稿内容
uuum
会議室デビュー日: 2004/06/06
投稿数: 19
投稿日時: 2006-12-25 20:18
.netの開発に携わってまだまもないのですが、
VB6では、フォーム1(開始フォーム)から別の画面を表示し(フォーム2)、
フォーム1を閉じる。
フォーム2からフォーム1を表示し、フォーム2を閉じる。
といったことが可能ですが、.NET(C#,C++)では通常そのような画面遷移はしないのでしょうか?また、可能なのでしょうか?

ご存知の方がいらっしゃいましたら、ご教授願います。
Kazuki
ぬし
会議室デビュー日: 2004/10/13
投稿数: 298
投稿日時: 2006-12-25 20:33
.NETでも可能です。
ケースによりますが、それが一番マッチするなら問題ないと思います。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-12-25 20:33
引用:

takoさんの書き込み (2006-12-25 20:18) より:

.netの開発に携わってまだまもないのですが、VB6では、フォーム1(開始フォーム)から別の画面を表示し(フォーム2)、フォーム1を閉じる。
フォーム2からフォーム1を表示し、フォーム2を閉じる。
といったことが可能ですが、.NET(C#,C++)では通常そのような画面遷移はしないのでしょうか?また、可能なのでしょうか?


普通に可能ですし、この部分に関しては VB6 と何ら変わらないレベルだと思います。
(Form の既定のインスタンスに頼らなければ)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
uuum
会議室デビュー日: 2004/06/06
投稿数: 19
投稿日時: 2006-12-25 20:43
引用:

じゃんぬねっとさんの書き込み (2006-12-25 20:33) より:
引用:

takoさんの書き込み (2006-12-25 20:18) より:

.netの開発に携わってまだまもないのですが、VB6では、フォーム1(開始フォーム)から別の画面を表示し(フォーム2)、フォーム1を閉じる。
フォーム2からフォーム1を表示し、フォーム2を閉じる。
といったことが可能ですが、.NET(C#,C++)では通常そのような画面遷移はしないのでしょうか?また、可能なのでしょうか?


普通に可能ですし、この部分に関しては VB6 と何ら変わらないレベルだと思います。
(Form の既定のインスタンスに頼らなければ)




いつも、御回答ありがとうございます。
(Form の既定のインスタンスに頼らなければ)を使用しなければ簡単ということでしょうか?いま現在インスタンスを作成する方法をとっているのですが、この場合は難しいということでしょうか?
インスタンスを使用しない作成方法とは、クラス化しないで作成するということなのでしょうか?
[/quote]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-12-25 20:54
引用:

takoさんの書き込み (2006-12-25 20:43) より:

(Form の既定のインスタンスに頼らなければ)を使用しなければ簡単ということでしょうか?


いいえ、むしろ逆です。

引用:

いま現在インスタンスを作成する方法をとっているのですが、この場合は難しいということでしょうか?
インスタンスを使用しない作成方法とは、クラス化しないで作成するということなのでしょうか?


("クラス化" の意味がわかりませんが)
Form は、インスタンスがなくては扱うことができません。

どうも 「Form の既定のインスタンス」 について誤解があるようです。
本題で躓いている点を、勝手に予想して書いたのが仇になりましたね。

現在 "何が" 問題になっているのかを提示して頂いた方が良さそうです。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-12-25 21:48
問題点を整理するためにも、読んでみてもらいたい→複数のフォーム間で、データをやりとりする<wankuma.com>
_________________
uuum
会議室デビュー日: 2004/06/06
投稿数: 19
投稿日時: 2006-12-26 08:43

("クラス化" の意味がわかりませんが)
Form は、インスタンスがなくては扱うことができません。

どうも 「Form の既定のインスタンス」 について誤解があるようです。
本題で躓いている点を、勝手に予想して書いたのが仇になりましたね。

現在 "何が" 問題になっているのかを提示して頂いた方が良さそうです。


[/quote]

申し訳ありません。
.NET環境で前記いたしましたフォームの遷移が出来るかどうか不明だった点は、御回答頂いたのでわかりました。ありがとうございます。
やりたいことをコードで書きます。
class Form1 : Form {
Form2 frm2 = new Form2();
Frm2.Show();
this.Hide();←をthis.Close();
}
HideではなくCloseしてフォーム2を表示させる方法がわかりません。

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-12-26 08:52
引用:

takoさんの書き込み (2006-12-26 08:43) より:

class Form1 : Form {
  Form2 frm2 = new Form2();
  Frm2.Show();
  this.Hide();←をthis.Close();
}


このようなコードは実行できないですから、結局のところ何に悩んでいるのかがわからずじまいです。

引用:

HideではなくCloseしてフォーム2を表示させる方法がわかりません。


勝手に先読みして答えますと、ApplicationContext で過去ログを検索してみると良いかもしれません。

ただし、Form1 と親子関係にある (Form2 から戻る場合がある) のであれば、Hide メソッドの方が良いです。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

スキルアップ/キャリアアップ(JOB@IT)