Я использую в WinForm объект типа: CefSharp.WinForms.ChromiumWebBrowser
Все работает нормально, но у меня возникает проблема при попытке изменить ZoomLevel с помощью SetZoomLevel
метода:
If oBrowser.IsBrowserInitialized Then
oBrowser.SetZoomLevel(-2.0)
Dim frame As CefSharp.IFrame = oBrowser.GetMainFrame
Dim request As CefSharp.IRequest = frame.CreateRequest()
request.Url = url
request.Method = "POST"
request.InitializePostData()
Dim element = request.PostData.CreatePostDataElement()
element.Bytes = postDataBytes
request.PostData.AddElement(element)
request.Headers = headers
frame.LoadRequest(request)
End If
Когда я открываю WinForm в первый раз, уровень масштабирования не меняется, хотя он работает корректно со 2-го обновления.
Мне не хватает инициализации и / или вызова метода ... ИлиЯ должен вызывать этот метод в другой позиции?
Примечание: версия DLL CEFSharp - 63.0.3.0..NET Framework - это 4.5.2
РЕДАКТИРОВАНИЕ 01.06.2018 : я нашел решение (см. Ниже), но теперь есть другая проблема : изменение масштаба выполняется, когда браузер уже виден , поэтому конечному пользователю нежелательно видеть изменение размера страницы во время загрузки формы.
Кто-нибудь предлагал заморозить макет при смене масштаба?Обратите внимание, что .SuspendLayout()
и .ResumeLayout()
не работают.