tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルウインドウ位置について
記事No10053
投稿日: 2010/04/09(Fri) 22:59
投稿者ふつうのこ
連続投稿みたいで気が引けるのですが…、よろしくお願いします。
環境はWin2000+VB2005です。

フォームの位置をMySetting変数に記憶させています。
データ比較の為に今開いているフォームのコピー(もちろんデータは別)を並べて表示させたいのですが、コピーフォームをドラッグすると元のフォームもその位置に行ってしまい並べる事が出来ません。
まったく重なってひとつのフォームにしか見えないのです。

MySetting変数を使ってる限りどうしようもないのでしょうか?
何か回避させる方法はないのでしょうか?
(自分でiniファイルを作ってロケーションを記憶させる以外の方法です)

[ツリー表示へ]
タイトルRe: ウインドウ位置について
記事No10055
投稿日: 2010/04/12(Mon) 18:54
投稿者花ちゃん
> フォームの位置をMySetting変数に記憶させています。
どのようにして位置を保存していますか(そのイベントは)、保存の部分をコメントにして
試して見たらどうなりますか?
プロパティにバインドしているなら、解除して試してみたらどうなりますか?

>データ比較の為に今開いているフォームのコピー
どのようにコピーしたのでしょうか?

[ツリー表示へ]
タイトルRe^2: ウインドウ位置について
記事No10056
投稿日: 2010/04/13(Tue) 01:14
投稿者ふつうのこ
回答ありがとうございます。
プロパティバインディングを外すとちゃんと並べて表示は出来ます。
でも当然のごとく表示位置はマニュアルに設定していますので、そのフォームは
ロケーション 0,0に表示されます。

コピーと言う表現がまずかったですか。
インスタンスを作成してます。

Dim frmCompare As New frmMain
frmCompare.Show()
として表示してます。
frmMainにデータの表示関数を作っているので、それで比較データを表示させてます。

質問の仕方を変えてもいいですか。

フォームのプロパティウインドの一番上、ApplicationSettingの PropertyBindingの
Locationで変数に設定していますが、プログラムからこの設定を変えることは出来るでしょうか?

変数の値にはプログラムからアクセスできるのですが、変数にバインドしているという設定の解除、もしくは設定のし直し等のやり方が分かりませんでした。

そもそもこのような事は可能なのでしょうか?

[ツリー表示へ]
タイトルRe^3: ウインドウ位置について
記事No10057
投稿日: 2010/04/13(Tue) 07:02
投稿者花ちゃん
> プロパティバインディングを外すとちゃんと並べて表示は出来ます。

だったら、プログラムから読み書きするようにして試して見て下さい。
詳しくは知りませんが、プロパティバインディングすると、他にもフォーム等の描画が
乱れたりしますので、使用しない方がいいかも知れません。
http://www.hanatyan.sakura.ne.jp/dotnet/sys07.htm

> フォームのプロパティウインドの一番上、ApplicationSettingの PropertyBindingの
>  Locationで変数に設定していますが、プログラムからこの設定を変えることは出来るでしょうか?
>
> 変数の値にはプログラムからアクセスできるのですが、変数にバインドしているという設定の解除、もしくは設定のし直し等のやり方が分かりませんでした。

下記を試して見て下さい。
http://www.hanatyan.sakura.ne.jp/dotnet/sys07.htm

>Dim frmCompare As New frmMain
又、この時の frmMain が起動Form に設定されているなら、変更して見て下さい。

[ツリー表示へ]