質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

Q&A

解決済

3回答

1376閲覧

CefSharp.WinFormsを配置すると画面に不具合が発生する

Rocky

総合スコア261

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

1グッド

1クリップ

投稿2018/07/14 04:01

編集2018/07/14 04:14

CefSharp.WinFormsを配置すると画面に不具合が発生します。
https://cefsharp.github.io/
上記のライブラリをnugetにて利用しています。

ChromiumWebBrowserを配置すると、最初に宣言・コントロール追加したブラウザだけ描画範囲にズレがあるようになってしまいます。複数配置しても1つだけ描画がおかしくなります。(図示)

コードは下記の通りで新規プロジェクトでも再現しますが、回避方法が分かりません。
どなたかご存知の方いらっしゃいませんでしょうか。

プロジェクトのデザイナ
プロジェクトのデザイナ

実行後の挙動
実行後の挙動

C#

1using System; 2using System.Windows.Forms; 3 4using CefSharp; 5using CefSharp.WinForms; 6 7namespace Test_for_teratail 8{ 9 10 public partial class Form1 : Form 11 { 12 string htmlpath1 = System.IO.Path.GetFullPath(@"html\graph1.html"); 13 string htmlpath2 = System.IO.Path.GetFullPath(@"html\graph2.html"); 14 15 ChromiumWebBrowser browser1; 16 ChromiumWebBrowser browser2; 17 18 public Form1() 19 { 20 InitializeComponent(); 21 } 22 23 private void Form1_Shown(object sender, EventArgs e) 24 { 25 Cef.Initialize(new CefSettings()); 26 27 //html_area1/2はpanelです。 28 browser1 = new ChromiumWebBrowser(htmlpath1); 29 html_area1.Controls.Add(browser1); 30 browser1.Dock = DockStyle.Fill; 31 32 browser2 = new ChromiumWebBrowser(htmlpath2); 33 html_area2.Controls.Add(browser2); 34 browser2.Dock = DockStyle.Fill; 35 36 } 37 38 } 39} 40
naoiwa24👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

Windows10 タッチスクリーンで発生するバグのようです。
SetOffScreenRenderingBestPerformanceArgsメソッドを実行してみてください。

settings = new CefSettings(); // レンダリングを最適化 settings.SetOffScreenRenderingBestPerformanceArgs(); Cef.Initialize(settings);

投稿2020/05/28 15:12

miyasaka1963

総合スコア25

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

私も似たような現象で悩まされています。
ディスプレイ設定の「テキスト、アプリ、その他の項目のサイズを変更する」で100%以外になっていると起きる現象かもしれません。
100% にすると起きず、150%(推奨) にするとずれるので。

投稿2019/06/13 01:44

ry188472

総合スコア74

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

ダミーのパネルを配置して、そこにwebbrowserを定義
shownした後にcontrol.clearすることで、ずれて描画されるブラウザ要素を排除しました。
正攻法とは言えないのですが、配置する最初のブラウザだけバグるので、どうも初期化辺りに無作法があるみたいです。とりあえずどうにかなったので解決済みにしますが、もしお詳しい方がいらっしゃいましたら追記願います。

投稿2018/07/17 14:44

Rocky

総合スコア261

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問