使Print方法在Form_Load事件中起作用,如何对窗体的属性进行设置?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使Print方法在Form_Load事件中起作用,如何对窗体的属性进行设置?相关的知识,希望对你有一定的参考价值。

参考技术A

为了使用窗体输出,使Print方法在Form_Load事件中起作用,必须设置窗体的AutoReDraw属性。

AutoRedraw是VB中的自动重绘窗口,当窗口被某个东西遮蔽了之后,窗口上那个位置原来绘制的图像被遮盖后可以用它把遮蔽的那部分重新绘制出来。

True 使 Form 对象或 PictureBox 控件的自动重绘有效。图形和文本输出到屏幕,并存储在内存的图象中。该对象不接受绘制事件,必要时,用存储在内存中的图象进行重绘。

False (缺省值)使对象的自动重绘无效,且将图形或文本只写到屏幕上。 当需要重画该对象时,Visual Basic 会激活对象绘制事件。

如何使径向渐变在 Safari 中起作用?

【中文标题】如何使径向渐变在 Safari 中起作用?【英文标题】:How to make radial gradients work in Safari? 【发布时间】:2019-06-10 10:28:34 【问题描述】:

我在我正在构建的新网站上使用径向渐变,但在桌面上的 Safari 中呈现的颜色不同(更暗)。有没有更好的跨浏览器语法可以使用?

我尝试了不同的前缀,但这并没有解决问题。我正在使用的代码如下。

.item1 
  background: -webkit-radial-gradient( bottom left, farthest-side, rgba(218, 218, 216, 0.5), transparent), -webkit-radial-gradient( bottom right, farthest-corner, rgba(253, 253, 253, 0.5), transparent 300px);
  background: -o-radial-gradient( bottom left, farthest-side, rgba(218, 218, 216, 0.5), transparent), -o-radial-gradient( bottom right, farthest-corner, rgba(253, 253, 253, 0.5), transparent 300px);
  background: radial-gradient( farthest-side at bottom left, rgba(218, 218, 216, 0.5), transparent), radial-gradient( farthest-corner at bottom right, rgba(253, 253, 253, 0.5), transparent 300px);
  background-size: 100% 100%;
  background-repeat: no-repeat;

当前在 Chrome 和 Firefox 中看到的正确输出:https://imgur.com/a/fMJCbZE

Safari 中的输出:https://imgur.com/a/KwwiV1b

正如您所见,它在 Safari 中要暗得多。

有人对如何解决这个问题有任何想法吗?

【问题讨论】:

我认为您可以从简化代码开始,如下所示:jsfiddle.net/7rL0d5f4 .. 您不需要所有这些 我认为这是同样的问题试试这个:https://***.com/a/5840904/10811862 感谢@TemaniAfif 是的,代码确实看起来过于复杂。我通过自动前缀运行它并添加了额外的行。感谢您的提琴,但如果您在 Safari 和 Chrome 中检查它仍然存在相同的问题。 @JanilsonDuarte 问题是 7 岁... @Neal 实际上我无法使用 safari 进行测试,但可能 farthest-side/ farthest-corner 处理得不好。这个呢:jsfiddle.net/7rL0d5f4/1?不完全一样,但如果在 Safari 上运行,你可以调整百分比来获得你想要的 【参考方案1】:

首先,您的渐变可以简化如下。

.box
 background: 
  radial-gradient( farthest-side at bottom left, rgba(218, 218, 216, 0.5), transparent), 
  radial-gradient( farthest-corner at bottom right, rgba(253, 253, 253, 0.5), transparent 300px);
 height:200px;


body 
 background:blue;
<div class="box">

</div>

现在的问题是 safari 不支持 at 使用的语法,正如您在 MDN page 中看到的那样:

您可以更改语法,如下所示。我将分割渐变以更好地查看结果,然后您可以轻松地将它们组合起来。

第一个渐变:

.box
 background: 
  radial-gradient( farthest-side at bottom left, rgba(218, 218, 216, 0.5), red);
 height:200px;


.box2
 background: 
  radial-gradient( farthest-side, rgba(218, 218, 216, 0.5), red) top right/200% 200%;
 height:200px;
<div class="box">

</div>
<div class="box2">

</div>

第二个渐变

.box
 background:  
  radial-gradient( farthest-corner at bottom right, rgba(253, 253, 253, 0.5), red 300px);
 height:200px;


.box2
 background:  
  radial-gradient( farthest-corner, rgba(253, 253, 253, 0.5), red 300px) top left/200% 200%;
 height:200px;
<div class="box">

</div>
<div class="box2">

</div>

诀窍是,如果您删除at,渐变默认从中心开始,当从中心开始时,我们需要X 距离才能到达角落或侧面,这与我们从当我们需要两倍的X 距离时的一个角落。这就是为什么我将渐变的大小设置为200% 200%,并且我只是调整了背景位置以具有相同的视觉效果。

这是最终的背景:

.box
 background: 
  radial-gradient( farthest-side, rgba(218, 218, 216, 0.5) , transparent) top right/200% 200%, 
  radial-gradient( farthest-corner, rgba(253, 253, 253, 0.5), transparent 300px) top left/200% 200%;
 height:200px;


body 
 background:blue;
<div class="box">

</div>

相关问题:How to animate a radial-gradient using CSS?

【讨论】:

以上是关于使Print方法在Form_Load事件中起作用,如何对窗体的属性进行设置?的主要内容,如果未能解决你的问题,请参考以下文章

如何使这种继承在 Java 中起作用? [关闭]

如何使径向渐变在 Safari 中起作用?

Unity:为啥添加事件侦听器仅在唤醒功能中起作用?

需要帮助以使搜索功能在反应中起作用[关闭]

jQuery .on() 方法在 Chrome 中不起作用(但在 IE 和 FF 中起作用)

如何使用户定义的运行时属性在 xcode 10.2.1 和 ios 12.2 中起作用