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

わんくま同盟

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

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

ツリー一括表示

New Windows 11 タブレットモードの設定(続) /河童 (25/05/13(Tue) 10:36) #103664
New Re[1]: Windows 11 タブレットモードの設定(続) /魔界の仮面弁士 (25/05/13(Tue) 11:14) #103665
  └New Re[2]: Windows 11 タブレットモードの設定(続) /河童 (25/05/13(Tue) 11:57) #103666
    └New Re[3]: Windows 11 タブレットモードの設定(続) /魔界の仮面弁士 (25/05/13(Tue) 12:04) #103667
      └New Re[4]: Windows 11 タブレットモードの設定(続) /河童 (25/05/14(Wed) 00:42) #103668
        └New Re[5]: Windows 11 タブレットモードの設定(続) /Azulean (25/05/14(Wed) 07:30) #103669


親記事 / ▼[ 103665 ]
■103664 / 親階層)  Windows 11 タブレットモードの設定(続)
□投稿者/ 河童 (8回)-(2025/05/13(Tue) 10:36:27)

分類:[C#] 

開発環境
Windows 11 pro
C#
VS2019
.NET Framework 4.7.2
Windowsフォームアプリケーション(.Net Framework)でプロジェクトを作成しています。

2年前にも同じ質問(101639)をさせていただきました。

【現象】
Windows 10では問題なかったフォーム画面が、
Windows 11では、Surface Go 4 でキーボード(タイプカバー)を外すと勝手に最大化される。

【原因】
Windows 11では「タブレットモード」が廃止され、自動的に端末の状態(キーボード有無)に応じたモード切り替えが行われる。
タイプカバーを外すとタブレットとして認識され、フォームが最大化される動きになる。

【対策】
MaximizeBox:False に設定する
または、Windows 10 にダウングレード

今回、Winodows10 のサポートがきれるということで再度解決策を考えているところです。

デバイスマネージャーのキーボードには、タイプカバーを接続した状態です。
・HID キーボードデイバス (変換済みポータブル デバイス コントロール デバイス)
・HID キーボードデイバス (GPIO ボタン ドライバー)
・HID キーボードデイバス (USB 入力デバイス)
・HID キーボードデイバス (Inter(R)HID Event Filter)

タイプカバーを外すと
3番目のUSB 入力デバイスが消えます。

[ □ Tree ] 返信 編集キー/

▲[ 103664 ] / ▼[ 103666 ]
■103665 / 1階層)  Re[1]: Windows 11 タブレットモードの設定(続)
□投稿者/ 魔界の仮面弁士 (3841回)-(2025/05/13(Tue) 11:14:44)
No103664 (河童 さん) に返信
> 【対策】
> MaximizeBox:False に設定する
この対策では都合が悪いということでしょうか?
あるいは、キーボードレスになったときだけ一時的にフォーム設定が変更される(再接続時に復帰)できれば問題ないのでしょうか?

> 【現象】
> Windows 10では問題なかったフォーム画面が、
> Windows 11では、Surface Go 4 でキーボード(タイプカバー)を外すと勝手に最大化される。
手元に Surface Go 4 は無いのですが、他の 2-in-1 機でどうなるのかを確認してみたいです。
該当画面は、モーダル表示でしょうか、モードレス表示でしょうか。

また、Form の下記の項目は何に設定されていますか?
・FormBorderStyle
・MaximumSize
・ShowInTaskbar
・AutoScaleMode
[ 親 103664 / □ Tree ] 返信 編集キー/

▲[ 103665 ] / ▼[ 103667 ]
■103666 / 2階層)  Re[2]: Windows 11 タブレットモードの設定(続)
□投稿者/ 河童 (9回)-(2025/05/13(Tue) 11:57:34)
No103665 (魔界の仮面弁士 さん) に返信
ご回答ありがとうございます。

>>【対策】
>>MaximizeBox:False に設定する
> この対策では都合が悪いということでしょうか?
設定しても表示が最大化になってしまいます。

> あるいは、キーボードレスになったときだけ一時的にフォーム設定が変更される(再接続時に復帰)できれば問題ないのでしょうか?
Windows 10 で設定できた「タブレットモード」オフ状態のように続けば嬉しいですが、
キーボードレスのとき、フォームが最大化されなければ問題ありません。

> 手元に Surface Go 4 は無いのですが、他の 2-in-1 機でどうなるのかを確認してみたいです。
私も確認してみたいですが、別端末がなく確認できない状態です。

> 該当画面は、モーダル表示でしょうか、モードレス表示でしょうか。
モードレス表示です。

> また、Form の下記の項目は何に設定されていますか?
・FormBorderStyle:None
・MaximumSize:0, 0
・ShowInTaskbar:True
・AutoScaleMode:Font


現状、レジストリの変更で
「ConvertibleSlateMode」を「1」にすることで、フォーム画面の最大化は防止できます。
しかし、この設定だとタッチキーボードが表示されなくなるという問題があります。

[ 親 103664 / □ Tree ] 返信 編集キー/

▲[ 103666 ] / ▼[ 103668 ]
■103667 / 3階層)  Re[3]: Windows 11 タブレットモードの設定(続)
□投稿者/ 魔界の仮面弁士 (3842回)-(2025/05/13(Tue) 12:04:32)
No103666 (河童 さん) に返信
>>また、Form の下記の項目は何に設定されていますか?
> ・FormBorderStyle:None
> ・MaximumSize:0, 0

FormBorderStyle が None なのであれば、
MaximumSize と MinimumSize を明示してみるのはどうでしょうか?
今は手元に環境が無くて試せないですが…。
https://dobon.net/vb/dotnet/form/minimumsize.html
[ 親 103664 / □ Tree ] 返信 編集キー/

▲[ 103667 ] / ▼[ 103669 ]
■103668 / 4階層)  Re[4]: Windows 11 タブレットモードの設定(続)
□投稿者/ 河童 (10回)-(2025/05/14(Wed) 00:42:25)
No103667 (魔界の仮面弁士 さん) に返信
> MaximumSize と MinimumSize を明示してみるのはどうでしょうか?
設定するとフォーム画面は最大化されませんでした。
しかし、表示位置が画面の左上端になります。

this.StartPosition = FormStartPosition.CenterScreen;
これをLoad時前に設定してもセンターになりません。

また、フォームのほかにデータグリッドビューも最大化されることが判明しました。


[ 親 103664 / □ Tree ] 返信 編集キー/

▲[ 103668 ] / 返信無し
■103669 / 5階層)  Re[5]: Windows 11 タブレットモードの設定(続)
□投稿者/ Azulean (4回)-(2025/05/14(Wed) 07:30:43)
2025/05/14(Wed) 07:32:20 編集(投稿者)

No103668 (河童 さん) に返信
> 設定するとフォーム画面は最大化されませんでした。
> しかし、表示位置が画面の左上端になります。
>
> this.StartPosition = FormStartPosition.CenterScreen;
> これをLoad時前に設定してもセンターになりません。

基本的にWindowsの仕様だと思っています。
それが嫌なのであれば、Microsoftへフィードバックするところでしょう。

短期的には諦めるのが一番簡単だと思いますが、なぜ追究されているのでしょうか?
自分の好み? 納品先 or 顧客の強い希望?
Windowsの仕様にあらがうことを求めるのは、出口のない迷路だと予想されますので、受け入れた上でのベターな着地点を模索した方が建設的でしょう。


どちらかと言えば、リサイズ可能なようにするのが理想的なアプリケーションのあり方だと思います。
解像度も千差万別となってきているなか、特定のサイズに固定的に作り込んだ結果、(タブレットモードみたいな)いまいちな見た目になるのは、アプリケーションの仕様の不具合であろうと思えます。

ーーーー
余談

迷惑投稿者判定はあくまで投稿しようとしている内容の一部が判定に引っかかる話であって、スレッドを立て直すことによる効果はないはずです。
[ 親 103664 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -