我在Winform中创建了一个CefSharp浏览器,我需要在内存中动态构建一个HTML页面,然后让CefSharp渲染它.
理想情况下,我想在构造函数中传递一个包含HTML的字符串,但它需要一个URL.答案可能是否定的,但是有一个指令可以预先添加字符串让CefSharp知道它是一个包含网页的字符串吗?然后CefSharp会创建一个临时文件?
如果没有,Chromium临时文件夹设置为何处?如果我将文件写入那里然后将其作为完全限定的路径传递,它会工作吗?我知道Chrome会支持像file:///Users/dmacdonald/Documents/myFile.htm这样的URL,但是如果使用临时结构则不知道如何形成URL.
这是我的新代码,但我的浏览器对象没有ResourceHandler属性.我看到它有一个ResourceHandlerFactory
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using CefSharp.WinForms;
using CefSharp;
namespace DanCefWinForm
{
public partial class Form1 : Form
{
public const string TestResourceUrl = "http://maps/resource/load";
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
ChromiumWebBrowser browser = new ChromiumWebBrowser("http://maps/resource/load")
{
Dock = DockStyle.Fill,
};
var handler = browser.ResourceHandler;
browser.Location = new Point(20, 20);
browser.Size = new Size(100, 100);
this.Controls.Add(browser);
} …Run Code Online (Sandbox Code Playgroud) 我希望在Objective-C中为IOS平台实现一些东西.
我想要两个GUI对象,我们只是说它们是简单的UIImage并且是方形.
然后我有一个"空"的GUI元素,它只是一个相同大小的灰色方块.
我希望用户能够将其中一个正方形图像拖到空白正方形上,只要图像的某些部分触及空白正方形,它就会捕捉到空白正方形并将其填满.如果他们将图像放在其他任何地方,它会动画回到原始位置.
同样,我希望有2个其他方形图像和另一个空方块,但具有相同的交互,但每组2个图像和1个空方块不能在彼此之间工作.即前两个图像只能掉入第一个空方块.
我假设有一些我想要捕获的丢弃事件,然后确定图像元数据是否与它被放入的空方块匹配.
如果您知道任何代码示例或应用程序,我当然可以通过代码来理解,或者如果您有一些对象,事件和属性指向我将是伟大的.
这不是一个游戏和应用程序一样多,所以我不想在任何游戏引擎中工作,但如果这是一个简单的方法,那么我就是为了这一切.
我正在 Windows8.1 Surface3 平板电脑上通过互操作调用 GetScaleFactorForMonitor()。它以 140 的比例因子响应。我在这台平板电脑上只有一台显示器。我将此调用的标志设置为最接近窗口和主显示器,以查看是否有任何区别,两者都给出 140。
问题是,实际缩放比例为 150%。当我在 Windows 中查看显示设置时,它显示 1440x2160,但原始分辨率为 960x1440(这是我通过调用 Screen.PrimaryScreen.Bounds 获得的)。
调用 SystemInformation.PrimaryMonitorSize.Height 和 Width 时,我也得到 960x1440。
我探索了另一条尝试使用 GetDpiForMonitor() 的方法。我的想法是,如果我获得原始 DPI,然后获得缩放的 DPI,我可以进行百分比计算。
它有点工作,但我为原始 DPI 获得的价值似乎是有效(缩放)DPI,反之亦然。对于 x 和 y 的有效 DPI,我得到 96,而对于原始数据,我得到 144。我希望原始数据是一个较低的数字。
这是我的电话:
GetDpiForMonitor(MonitorFromWindow(myTextbox.TopLevelControl.Handle, MONITOR_DEFAULTTONEAREST),
MONITOR_DPI_TYPE.MDT_Effective_DPI,
out effectiveDPIx,
out effectiveDPIy);
GetDpiForMonitor(MonitorFromWindow(myTextbox.TopLevelControl.Handle, MONITOR_DEFAULTTONEAREST),
MONITOR_DPI_TYPE.MDT_Raw_DPI,
out rawDPIx,
out rawDPIy);
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的结构,它是 MSDN 上的一个镜像。
public enum MONITOR_DPI_TYPE : int
{
MDT_Effective_DPI = 0,
MDT_Angular_DPI = 1,
MDT_Raw_DPI = 2,
MDT_Default = MDT_Effective_DPI
};
Run Code Online (Sandbox Code Playgroud) 我希望能够将文本字段内的颜色设置为与默认白色不同的颜色.
我可以通过减少Alpha值使其变灰,但我想使用灰色以外的颜色来表示某些条件.即红色警告.
我讨厌问这么简单的问题,但我做了一些谷歌搜索,没有看到任何东西给我一些见解.
我想使用颜色,而不是图像,因为它比使用图像更有效.但如果它只适用于图像,那么对它的指导就会很好.
我知道你可以设置一个背景图像,但更多的是使边框成为不同的颜色.我希望文本字段区域内的颜色是不同的颜色.
如果有一种方法可以在代码中执行此操作但不在IB中执行此操作,那么这对我也很有用.
谢谢,
端午