天道酬勤,学无止境

How do I program a "flash" effect when updating text boxes in a windows form with C#?

问题

我有一个 Windows 窗体,用 C# 编写,有 7 个文本框。 当其值被更改并被接受时,每个文本框都会更新 2 或 3 个其他文本框。 我想要做的是以某种方式获取那些需要更新的文本框,并用浅色或其他东西使它们“闪烁”。 目的是向用户展示正在更新的内容,并增加一点天赋。

我不确定是否有一种简单的方法可以做到这一点,这就是我在这里问的原因。 我认为,我可以在文本框控件背景颜色上使用计时器、while 循环和带有递减 alpha 通道的背景颜色,但我想看看是否有更好的方法。

jQuery UI 有一个“突出显示”效果,它显示了我想要完成的事情(尽管我希望我的速度慢一点)。 只需到这里到 jQuery UI Effects Demo 页面,从窗口的下拉框中选择“highlight”,然后单击“Run Effect”。

编辑
根据我的时间和资源限制,我不得不采用自己的解决方案,但文本框不支持 Hans Passant 提到的透明颜色。 所以,我使用了一个自停计时器,它增加了 R、G 和 B 值,直到控件完全变白(R=255,G=255,B=255);

编辑 2
在我们更新到 .NET 4.0 之后,使用 George Johnston 解决方案的变体将 flash 事件重新编码为一种扩展方法。 我觉得这是一个更清洁的解决方案,并且扩展方法使其自动可供任何using它的人使用。

回答1

很老的问题,但我想我会用更现代的答案来更新,因为在 2010 年最后一个答案得到回答时,async/await 并不存在

我还更新了它以使用一个很好的褪色单闪光而不是引起癫痫发作的开关闪烁,并更改了打字,使其不限于在文本框上使用。

由于它使用 async/await,因此在主线程上执行操作是安全的,无需委托或InvokeRequired检查。 即使您将淡入淡出的持续时间设置为较长,您仍然可以在淡入淡出循环运行时与应用程序进行交互。

    private bool CurrentlyFlashing = false;
    private async void FlashControl(Control control)
    {
        Color flashColor = Color.Yellow;

        float duration = 500; // milliseconds
        int steps = 10;
        float interval = duration / steps;

        if (CurrentlyFlashing) return;
        CurrentlyFlashing = true;
        Color original = control.BackColor;

        float interpolant = 0.0f;
        while (interpolant < 1.0f)
        {
            Color c = InterpolateColour(flashColor, original, interpolant);
            control.BackColor = c;
            await Task.Delay((int) interval);
            interpolant += (1.0f / steps);
        }

        control.BackColor = original;

        CurrentlyFlashing = false;
    }

    public static Color InterpolateColour(Color c1, Color c2, float alpha)
    {
        float oneMinusAlpha = 1.0f - alpha;
        float a = oneMinusAlpha * (float)c1.A + alpha * (float)c2.A;
        float r = oneMinusAlpha * (float)c1.R + alpha * (float)c2.R;
        float g = oneMinusAlpha * (float)c1.G + alpha * (float)c2.G;
        float b = oneMinusAlpha * (float)c1.B + alpha * (float)c2.B;
        return Color.FromArgb((int)a, (int)r, (int)g, (int)b);
    }

我对颜色和时间进行了硬编码,而不是像其他回答者那样将它们作为函数参数公开,因为如果我重用它,我通常希望它们在我的应用程序中是相同的。

回答2

您可以为每个闪烁的文本框分离一个单独的线程,以免在您的文本框闪烁期间阻止您的表单被使用。 请务必调用您的表单,因为线程的旋转将需要交叉线程。 下面的完整解决方案。

private void Form1_Load(object sender, EventArgs e)
{
    // textBox1 is the control on your form.
    // 1000 is the total interval between flashes
    // Color.LightBlue is the flash color
    // 10 is the number of flashes before the thread quits.
    Flash(textBox1, 1000,Color.LightBlue,10);
    Flash(textBox2, 1500,Color.Green,10);
    Flash(textBox3, 100,Color.Red,10);
    Flash(textBox4, 500,Color.Brown,10);
    Flash(textBox5, 200,Color.Pink,10);
}

public void Flash(TextBox textBox, int interval, Color color, int flashes)
{
    new Thread(() => FlashInternal(textBox, interval, color, flashes)).Start();
}

private delegate void UpdateTextboxDelegate(TextBox textBox, Color originalColor);
public void UpdateTextbox(TextBox textBox, Color color)
{
    if (textBox.InvokeRequired)
    {
        this.Invoke(new UpdateTextboxDelegate(UpdateTextbox), new object[] { textBox, color });
    }
    textBox.BackColor = color;
}

private void FlashInternal(TextBox textBox, int interval, Color flashColor, int flashes)
{
    Color original = textBox.BackColor;
    for (int i = 0; i < flashes; i++)
    {

        UpdateTextbox(textBox, flashColor);
        Thread.Sleep(interval/2);
        UpdateTextbox(textBox, original);
        Thread.Sleep(interval/2);
    }
}

这避免了必须在表单上放置支持的计时器控件。

回答3

WPF 似乎很适合这个。 您可以在 WPF 中构建它并在 WinForms 中将其用作 HostedElement。 添加新项目 WPF 用户控件,并在 xaml 中:

<UserControl x:Class="WpfControlLibrary1.UserControl1"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         mc:Ignorable="d" 
         d:DesignHeight="20" d:DesignWidth="300">
<TextBox>
    <TextBox.Triggers>
        <EventTrigger RoutedEvent="TextBox.TextChanged">
            <BeginStoryboard>
                <Storyboard AutoReverse="False" BeginTime="0" >
                    <DoubleAnimation Storyboard.TargetName="Foo"
                                 Storyboard.TargetProperty="Opacity"
                                 From="0" To="1" Duration="0:0:1"/>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </TextBox.Triggers>
    <TextBox.Background>
        <SolidColorBrush Opacity="1" x:Name="Foo" Color="LightGray" />
    </TextBox.Background>
</TextBox>
</UserControl>

(它可以做一些工作,但这是一个开始)。 你有它 - 一个花哨的文本框:)

构建解决方案,工具箱中将出现一个新项目 - 只需拖放到您的表单,WPF 将托管在 ElementHost 元素内。 它的美妙之处在于您可以在 WPF 中对视觉样式做更多的事情,但是,它是托管的 WPF,这为您的解决方案增加了一定的权重......

回答4

TextBox派生您自己的类。 给它一个Flash()方法来开始闪烁。 只需将BackColor更改为柔和的颜色。 不要使用 alpha,它不适用于TextBox

您应该让此类的所有实例共享一个公共 Timer,以便它们同时闪烁。 使计时器静态并引用计数您拥有的实例数。 在构造函数中添加,在Dispose(bool)覆盖中添加。

回答5
回答6

根据您的应用程序,一种华丽的方法是更改​​文本框图像的伽玛。 这当然取决于你想投入多少时间,但这当然是可行的。 我已经看过几个关于如何调整图像的伽玛和获取控件图像的教程。

也就是说,我也相信将文本框的背景色设置为透明是不平凡的。 从您的措辞中,我只能猜测您想将颜色从底层控件的背景色淡化为文本框的背景色,在这种情况下,问题又是微不足道的。 但如果你有背景图片,你或许应该重新考虑。 尽管如此,它仍然是可能的,如果这是你想要完成的,我可以为你挖掘一个关于如何做到这一点的链接。

快速简单的解决方案是将文本颜色和背景颜色从白色设置为您当前的前景色。

回答7
private bool CurrentlyFlashing = false;
private void FlashInternal(TextBox textBox, int interval, Color flashColor, int flashes)
{
    if (CurrentlyFlashing) return;

    CurrentlyFlashing = true;
    Color original = textBox.BackColor;
    for (int i = 0; i < flashes; i++)
    {
        UpdateTextbox(textBox, flashColor);
        Application.DoEvents();
        Thread.Sleep(interval / 2);
        UpdateTextbox(textBox, original);
        Application.DoEvents();
        Thread.Sleep(interval / 2);
    }
    CurrentlyFlashing = false;
}
private delegate void UpdateTextboxDelegate(TextBox textBox, Color originalColor);
public void UpdateTextbox(TextBox textBox, Color color)
{
    if (textBox.InvokeRequired)
    {
        this.Invoke(new UpdateTextboxDelegate(UpdateTextbox), new object[] { textBox, color });
    }
    textBox.BackColor = color;
}

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • How do I program a "flash" effect when updating text boxes in a windows form with C#?
    What I have is a Windows form, in C#, with 7 text boxes. Each text box updates 2 or 3 others when its value is changed and accepted. What I want to do is somehow take those text boxes that need to be updated and make them "flash" with a light back color or something. The purpose is to show the user what is being updated with an added bit of flair. I'm not sure if there is an easy way to do this and that is why I'm asking here. I can use a timer, a while loop, and a back color with a decreasing alpha channel on the text box control back color, I think, but I want to see if there is a better way
  • flash在C#中的应用
    很多光盘上的程序,比如电脑迷光盘,开头总有一段动画,用来展现企业品牌和LOGO之用。这个动画是Flash做的,而且嵌入到程序中简直做到无缝融合,因为右键点击它也不会有那特有而烦人的Flash右键菜单。因此将Flash融合到WinForm中能够增强程序的多媒体效果和炫丽的外观。现在我们就来看看在C#桌面程序中如何插入Flash视频,而且去掉烦人的右键菜单。 首先要插入Flash就必须使用Flash控件,在工具栏右键选择“选择项…”,然后在“COM组件”面板下点击“浏览”按钮,在本机电脑C:\WINDOWS\system32\Macromed\Flash\目录里选择Flash8.ocx(也有可能是Flash9F.ocx,版本不同所致),然后点击确定就可以了。但到这里还没有完,因为要使用Flash控件必须注册它。在CMD里面输入如下:regsvr32 C:\WINDOWS\system32\Macromed\Flash\Flash8.ocx系统会提示注册成功,这个时侯就可以在VS2008里面使用该控件了!打开VS2008,新建一个Windows程序,然后把刚才我们选择的Flash控件Shockwave Flash Object拖到窗体中,这时窗体中会出现一个白色的矩形框,Name属性我们设置为Myflash,在里面可以播放我们需要的swf文件。 注意到该控件主要有几个属性:Name属性
  • WPF 比 winforms 更“华丽”吗?(Are WPF more 'flashy-like' than winforms?)
    问题 我刚刚安装了visio,安装程序几乎看起来像是内置在flash中的。 当我将鼠标悬停在它们上方时,按钮有点发光,当我点击“继续”时,表单以一种很酷的方式逐渐消失。 我假设它是在 WPF 中构建的。 无论如何,WPF 也更像 Flash(从视觉上讲)。 与 winforms 相比,它们是否具有新属性,您可以使表单更好/平滑地逐步淘汰? 回答1 免责声明:我为微软工作。 但是,我不在 Visio、WPF、CLR 或 Silverlight 团队工作。 因此,以下是我个人对这些技术的看法。 如果你想引用我的话,不要暗示这是微软的官方立场。 :-)) 更新:我在下面所说的关于 Flash/Flex/AIR 的任何内容都可能是错误的,因为我没有使用过这些技术,我对它们的了解是基于我在 intertubes 上阅读的内容。 :-) 如果您发现任何错误,请在评论中大喊,我会纠正它。 据我所知,Visio 安装程序不是用 WPF 构建的。 都是非托管代码; 只是人们花了很多心思使它真正抛光。 WPF 是用于为 Windows 操作系统构建独立应用程序的新 UI 平台。 它支持声明性 UI 语言 - XAML 和相关的 CLR 类型以进行编程。 WPF 是与 WinForms 不同的平台,尽管可以构建混合使用两者构建的 UI 的应用程序。 WPF 支持许多 WinForms 不支持的东西
  • 如何在模型索引页面上添加创建/编辑模型功能?(How can I add create/edit models feature on the model index page?)
    问题 好的,我有一个非常简单的模型: ServiceType(id: integer, title: string, duration: integer, created_at: datetime, updated_at: datetime) 因为它太简单了,我应该有一个单独的页面来创建和更新这些类型的记录,这太荒谬了。 我想要做的是在我的索引页面上有一个表单,我可以用它来创建新记录,如果我单击编辑链接,我希望表单加载该记录,以便表单兼作创建/更新表单. 有没有人以前做过这个,或者有没有人知道某处的博客文章展示了如何做到这一点? 编辑:使用下面由 Laheab 发布的博客链接我在这一点上:如果您使用的是 Rails 3,Laheab 的链接就是您想要的,但请注意!! 编写它的人在他的代码中留下了大量明显的错误......寻找像*/ */而不是/* */这样的坏注释块,并寻找他使用 jQuery 但没有使用$ 。 如果您使用的是 Rails 2.3.x,我已经发布了我的修改版本作为答案。 回答1 像这样使用 rails 3 和不显眼的 javascript 创建 100% ajax CRUD? 回答2 将“新服务类型”表单放在索引顶部很简单。 它就像在“新”模板中一样。 要编辑现有记录,您可能会考虑就地编辑之类的东西,它曾经是 rails 核心的一部分,但现在是一个插件。 回答3
  • HTML基础知识
    HTLM基础知识 语义化 每一个HTML元素都有具体的含义所有元素与展示效果无关,元素展示的效果应该由CSS决定浏览器带有默认的CSS样式,所以每个元素都有一些默认的样式选择什么元素,取决于内容的含义,而不是显示出的效果为什么需要语义化? 5.1 为了搜索引擎优化(SEO),每隔一段时间搜索引擎会从整个互联网中抓取页面源代码 5.2 为了让浏览器理解网页 文本元素 H标签 h1-h6 表示1级标题-6级标题 P标签 段落,paragraphs(lorem 乱数假文用于测试) span标签 无语义,仅用于样式的设计 pre标签(无语义化元素) 表示预格式化文本元素,空白折叠(在源代码中的连续空格字符(空格,换行,制表)),在页面显示时会被折叠为一个空白字符在pre元素中的内容不会出现空白折叠,按照源代码格式显示到页面上,通常用于显示一些代码pre功能的本质:他有一个默认的CSS属性 white-space:pre,显示代码是外面通常套code元素,code表示代码区域(有语义化) 某些元素在显示时会独占一行(块级元素),有些不会(行级原元素),HTML5已经弃用这种说法 HTML实体 实体字符 HTML Entity,通常用于在页面中显示一些特殊符号 &单词;&#数字;常见的实体字符:< --> <,> --> >,空格 --> ,版权 --> @copy;,& --> & 四
  • Arduino+Avr libc制作Badusb原理及示例讲解 | 长文含视频
    泥壳安全 FreeBuf * 原创作者:泥壳安全,本文属FreeBuf原创奖励计划,未经许可禁止转载一、 前言2014年美国黑帽大会上研究人员JakobLell和Karsten Nohl展示了badusb的***方法后,国内与badusb相关的文章虽然有了一些,但是大部分人把相关文章都阅读后还是会有种“不明觉厉”的感觉,badusb仍有一层朦胧的面纱。经过一段时间的学习和研究后,笔者希望通过自己的一些心得体会可以帮助其他人更清晰地认识badusb,也希望这篇文章能够起到一定的启发。这篇文章主要分为五个部分——知识扫盲部分、badusb固件编写部分、badusb配置界面部分、技术展望部分和总结部分。二、硬件准备本文使用的硬件是Arduino Leonardo开发板,但是不难将Leonardo开发板替换为其它Arduino开发板。三、知识扫盲1. 虽然USB协议有一定的漏洞,但是不是任何USB设备都能制作badusb的。制作badusb有两个核心,一个是能够为USB设备编写相应的固件,另一个是能够将编写的固件烧录到USB设备中。要编写相应的固件就需要掌握USB设备中微控制器(或者说芯片)的指令规范文档(如果Intel不提供开发文档,那么除了Intel自己没有人能为Intel处理器编写程序);而要将固件烧录到USB设备中,要么使用相应的硬件编程器
  • 分享100个好看且实用的JavaScript特效
    链接:https://pan.baidu.com/s/1e4XO6Tsi44jPqlJ9qs2WqQ 提取码:34qn 分享100个好看且实用的JavaScript特效 分享100个好看且实用的JavaScript特效,总有一款适合你,小弟在某付费网站上收集的,虽然不是我的原创但是小弟这100个Js也是花了很多时日! 下面是JS的名字,我放了一些图片,所有图片全都放进去是不行的100个图太多,大家下载后可以看到。 彩色发光的黑洞CSS3特效 纯CSS3边框按钮悬停特效 HTML5彩虹波浪动画特效 ECharts企业组织架构图代码 CSS3 SVG清空回收站按钮特效 HTML5打雷闪电下雨特效 jQuery数字百分比加载特效 全屏星星闪烁动画CSS3特效 蜂巢六边形加载动画特效 你画我来猜HTML5小游戏 JS九宫格图片点击播器音乐代码 CSS3发光粒子背景动画特效 彩色粒子烟花HTML5特效 卡通日出日落CSS3动画特效 JS黑白样式加减乘除计算器代码 几何图形动画HTML5特效 jQuery成语文字验证码特效 HTML5粒子聚集散开动画特效 每日隔离走势图HTML5插件 钢琴键盘样式HTML5特效 HTML5流动网状线条动画特效 CSS3炫彩文字动画背景特效 七龙珠发光闪烁CSS3特效 jQuery点击弹窗导入数据表单代码 HTML5模拟交通信号灯动画特效
  • HTML5 概述及基本语法
    1、HTML5 概述 (1)HTML5 的历史 HTML5 是继 HTML4.01 和 XHTML1.0 之后的超文本标记语言的最新版本。它是由一群自由思想者组成的团队设计出来,并最终实现多媒体支持、交互性、更加智能的表单,以及更好的语义化标记。 HTML5 并不仅仅是 HTML 规范的最新版本,而是一系列用来制作现代富 Web 内容的相关技术的总称,其中最重要的三项技术分别为:HTML5 核心规范(标签元素)、CSS(层叠样式表第三代)、和 JavaScript。 1993 年 HTML 首次以因特网草案的形式发布,然后经历了 2.0、3.2 和 4.0,直到 1999年的 HTML4.01 版本稳定下来。由于发展缓慢,逐渐的被更加严格的 XHTML 取代。 1)XHTML 的兴衰史 自从 HTML4.01 版本之后,掌握着 HTML 规范的万维网联盟(W3C)组织没有再发布新的标准,而是围绕着 XHTML1.0 以及之后的 XHTML2.0 展开工作。XHTML 是基于 XML、致力于实现更加严格并且统一的编码规范的 HTML 版本,解决之前 HTML4.01 版本时,由于编码不规范导致浏览器的各种古怪行为。所以,Web 开发者对 XHTML 非常的拥护。XHTML 极大的好处,就是强迫开发者养成良好的编码习惯,放弃 HTML 的凌乱写法,最终降低了浏览器解析页面的难º
  • 李宏毅2020机器学习课程笔记——Deep Learning(简单介绍/深度学习Deep的原因/训练技巧/Backpropagation)
    Deep Learning 对Deep Learning的简单介绍深度学习为什么要Deep深度神经网络的训练技巧Backpropagation 对Deep Learning的简单介绍 对深度学习的发展进行了简单的介绍,从中我知道了perceptron(感知机),perceptron是最早神经网络,是一个linear model,其结构类似于我们现在的 logistic regression。 深度学习作为解决机器学习问题的方法之一,其步骤和机器学习是一样的,都是首先定义一个模型,如何评判这个模型的好坏,选出最优的function。 深度学习有很多的结构,这是因为神经元不同的链接方式,产生了多种多样的网络结构。比如,最基础的fully connected forward neural network(全连接网络)。 深度学习不同的结构也就是我们第一步中提到的model,我们要如何设计我们的结构?有多少层 hidden layer,每层 hidden layer的神经元有多少个?这基本都是靠我们的经验和直觉定义的。 在向前发展的过程中,可以让机器自己学习如何建立网络的结构。 针对第二步,判断模型的好坏,仍是我们之前的方法-损失函数(交叉熵) 针对第三步,和之前的线性模型一样,也采用梯度下降的方法 深度学习为什么要Deep 在深度学习的过程中,我们可能认为参数越多,深度学习的效果越好
  • 2020年最新阿里、字节、美团、拼多多等一线大厂前端岗高频面试真题合集,面试轻松无压力
    前言 找工作还是需要大家不要紧张,干我们这一行的接触人本来就不多,难免看到面试官会紧张,主要是因为怕面试官问的问题答不上来,那时候不要着急 ,答不上了的千万不要胡扯一些,直接就给面试官说这块我还没接触到,以后如果工作当中遇到的话我可以很快的把这个问题给解决了,但是我们有了这篇文章,就不一样了,大厂面试的知识的点基本都有涉及,而大厂又是行业的标杆,多刷一刷对大家的面试还是很有帮助的,我在这里祝大家工作顺利,天天开心 ~好了下面就是正题。 由于文章篇幅限制,不可能将所有面试题以文字形式展示出来,本篇为大家精选了一些面试题,有需要的程序猿(媛)可以点击下方传送门免费获取题目+解析哦 点击免费领取题目+解析PDF CSS 1. 页面渲染时,dom 元素所采用的 布局模型,可通过box-sizing进行设置。根据计算宽高的区域可分为: content-box (W3C 标准盒模型) border-box (IE 盒模型) padding-box (FireFox 曾经支持) margin-box (浏览器未实现) Tips: 理论上是有上面 4 种盒子,但现在 w3c 与 mdn 规范中均只支持 content-box 与 border-box; 2. ie盒模型算上border、padding及自身(不算margin),标准的只算上自身窗体的大小 css设置方法如下: 标准模型 :box
  • Python每日一练(20)-用Python制作mini翻译器
    目录 1. 实例描述2. 技术要点2.1 有道词典这样的 JS 混淆加密应该怎么破 3. 代码实现 1. 实例描述 在平时编程的过程中,会经常在网上翻译一些单词,本文使用Python制作一款翻译小工具,不仅可以自己用,还可以嵌入到程序当中。运行程序,效果如下图所示,在文本框输入英文或中文,单击 翻译 按钮即可翻译,并将翻译内容显示在下面的文本框中。单击 保存 按钮将输入内容和翻译内容保存到文本文件中以便日后复习。单击 清空 按钮,将清除文本框中的内容。 2. 技术要点 利用 requests 模块获取 有道词典web 页面的 post 信息,获取需要的内容,通过 tkinter 模块生成窗口界面,使用文件读写方法将内容保存到文本文件中。 2.1 有道词典这样的 JS 混淆加密应该怎么破 嘿嘿嘿,本文需要说说一些爬虫过程中需要斗智斗勇的事情了,这次咱们就来说说关于一些 JS 混淆加密的事。所谓 JS ,就是 JavaScript,一种前端的脚本语言,一般情况下每个网站都需要 JS 来做一些数据交互,页面渲染等一些异步操作。当然,对于反爬的人来说,JS 的用处还可以用来对一些数据进行加密。 今天咱们就以有道词典这个在线翻译的网站为例,看看他们是如何加密请求数据的,以及笔者是如何通过 Python 模拟请求从而获得关键数据的。 点击 此处 打开有道翻译的网站:
  • 可视化学习2011
    segment 2011-01-17 openoffice3.2在windows下面安装以后,我想通过"C:\Program Files\OpenOffice.org 3\program\soffice.exe" -headless -accept="socket,port=8100;urp;" , 打开soffice.bin,但是却不行,最开始以为端口没开,或者是打印机占用了8100端口,结果都不是,是需要打开一次openoffice,进行一次初始化设置,才能够使用上面的命令打开soffice,这个命令有可能就是在后台打开openoffice,但是在前段却不用看到OpenOffice程序界面。 segment 2011-01-11 Text Analytics文本分析:用户观点 1.文本分析原理: 大多数人处理电子文档的方式是: 发布,管理,存档,重构 索引和搜索 通过元数据和内容归类和分类 总结或者抽取出信息 “Statistical information derived from word frequency and distribution is used by the machine to compute a relative measure of significance, first for individual words and then for
  • 【原创】 ES5高效封装WIN10系统教程2020系列(四)使用工具优化与清理
    ** 本教程共有7个系列 ** 1. 母盘定制 2. 准备封装环境 3. 母盘安装及系统调整 4. 使用工具优化与清理 5. 常用软件安装及设置 6. ES5封装 7. 测试效果 大家已经发现今年的教程没有手动优化了,其实不然,手动优化是肯定要有的,只是今年需要手动优化的地方很少了,基本都用工具来代替了,少量的手动优化就挪到封装前的优化调整里去一起讲。这章就只讲工具优化与清理。优化工具的选择很重要,不是使用的越多越好,而是要在保证系统稳定长效的前提下选择好用的优化工具。尽量不要用不同的工具重复优化相同的内容。本教程将使用小鱼儿yr系统封装优化设置辅助工具进行优化设置,这个工具是本人经过长期的学习总结和实践应用而写出来的一款小巧的辅助工具,目前大小不到2M,绿色无污染。借鉴了软媒优化大师和Dism++工具的优化内容以及IT天空热心坛友们和系统封装QQ群友们的经验,并经过本人的长期实践加工而成。此工具比较有针对性,专门针对封装系统时和新笔记本优化设置时将各种繁琐的手动操作内容自动化完成。工具可根据自己的需求环境,自由配置需要优化的项目,近乎一键完成,非常灵活高效(咳~咳~感觉吹的有点过了)。系统清理的话继续使用软媒和Dism++。 ** 本系列共5个步骤 ** 1.使用小鱼儿yr系统封装优化设置辅助工具优化设置与系统清理 2.临时向虚拟机里增加文件资料 3.使用Dism++清理 4
  • Jquery / AJAX / CakePHP Modal messages, into lights out box only when there is a modal error?
    EDITS This is the new code I have been working, if I have the new code outside of the check for submit, then the page does not even side in, it just goes to the new URL! but then loads the modal checks, but does all of this in a plan page as it has just loaded the AJAX file! Glenn. $(document).ready(function() { $('#UserSignUpUserForm').on('submit', function(e) { if ($('div.error-message').size() == 0) { // if no error messages $('form').off('submit'); // unbind the form submission. $('form').submit(); // submit the form now to reload the page. } else { e.preventDefault(); $.post($(this).attr(
  • C#干货——持续补充更新
    1、将其他类型转换成字符串:A.ToString(); 字符串转其他类型怎么转? 2、在C#中1和0不再代表真假 使用true和false表示真假 所以if(1)是不正确的 3、注释的格式 4、const和readonly(非重点) const必须在声明的时候就进行初始化 readonly是一种动态常量,只能在构造函数中进行赋值 5、动态计算中怎么排除数字、小数点、退格以外的字符(上机作业NO.1) 使用Textbox的Keypress事件,然后e.keyChar规定范围 6、switch后面的括号都可以写什么类型 字符型 字符串 bool 整数型 枚举值 7、计算增长率(上机作业NO.2) 第一次四十分,第几次能增长到60分,假设每次增加0.1的话 8、foreach(baseType name in array) baseType:参数类型 name:name是自己起的变量名 in:表示在哪个数组集合中 array:已有的数组集合 9、互联网思维:在(移动)互联网+大数据、云计算等不断发展的背景下,对市场、用户、产品、企业价值链、乃至整个商业生态进行重新审视的思考方式。(貌似挺重要) 10、public protected private三者区别
  • 【VMware vSAN 7.0】5.4.2 创建 vSAN 集群—我们有软硬件解决方案
    目录 1. vSAN简介 1.1 vSAN 概念 1.1.1 vSAN 的特性 1.2 vSAN术语和定义 1.3 vSAN 和传统存储 1.4 构建 vSAN 群集 1.5 vSAN 部署选项 1.6 与其他 VMware 软件集成 1.7 vSAN 的限制 2. 启用 vSAN 的要求 2.1 vSAN 的硬件要求 2.2 vSAN 的群集要求 2.3 vSAN 的软件要求 2.4 vSAN 的网络要求 2.5 许可证要求 3. 设计和优化 vSAN 集群 3.1 vSAN 存储组件设计和大小调整 3.1.1 规划 vSAN中的容量 3.1.2 vSAN 中的闪存缓存设备设计注意事项 3.1.3 vSAN 中的闪存容量设备设计注意事项 3.1.4 vSAN中磁盘的设计注意事项 3.1.5 vSAN 中存储控制器的设计注意事项 3.2 设计和优化 vSAN 主机 3.3 vSAN 集群的设计注意事项 3.4 设计 vSAN 网络 3.4.1 为 vSAN网络连接创建静态路由 3.5 vSAN 网络连接的最佳做法 3.6. 设计和优化 vSAN 故障域 3.7 使用引导设备和 vSAN 3.8 vSAN 群集中的持久日志记录 4. 为 vSAN 准备新的或现有的群集 4.1 选择或验证存储设备的兼容性 4.2 准备存储 4.2.1 准备存储设备 4.2.2 使用 ESXCLI
  • Jquery / AJAX / CakePHP 模态消息,仅在出现模态错误时才进入熄灯框?(Jquery / AJAX / CakePHP Modal messages, into lights out box only when there is a modal error?)
    问题 编辑 这是我一直在工作的新代码,如果我在提交检查之外有新代码,那么页面甚至不会加入,它只会转到新的 URL! 然后加载模态检查,但在计划页面中完成所有这些,因为它刚刚加载了 AJAX 文件! 格伦。 $(document).ready(function() { $('#UserSignUpUserForm').on('submit', function(e) { if ($('div.error-message').size() == 0) { // if no error messages $('form').off('submit'); // unbind the form submission. $('form').submit(); // submit the form now to reload the page. } else { e.preventDefault(); $.post($(this).attr('action'), $(this).serialize(), function(res) { $('form').replaceWith(res); console.log(res); }) } //End of if / else check! }) }); 旧帖子 好的,有人帮我,给了我这个代码来解决我的一个问题,但是现在这个代码
  • jQuery 插件
    jQuery 插件 概述jQuery 是继 prototype 之后又一个优秀的 Javascript 框架。其宗旨是—写更少的代码,做更多的事情。它是轻量级的 js 库(压缩后只有21k) ,这是其它的 js 库所不及的,它兼容 CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。 jQuery 是一个快速的,简洁的 javaScript 库,使用户能更方便地处理 HTML documents、events、实现动画效果,并且方便地为网站提供 AJAX 交互。 jQuery 还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。 jQuery 能够使用户的 html 页保持代码和 html 内容分离,也就是说,不用再在 html 里面插入一堆js来调用命令了,只需定义 id 即可。文件上传(File upload)Ajax File Upload.jQUploader.Multiple File Upload plugin. jQuery File Style.Styling an input type file.Progress Bar Plugin.表单验证(Form Validation)jQuery Validation.Auto Help.Simple
  • Why does my program's output flash and close in Windows?
    问题 我正在尝试为 K&R“Hello, world”构建一个 .exe 文件。 书中给出的代码是: #include <stdio.h> main() { printf("Hello, world!\n"); } 当我从 Code::Blocks(在 Windows XP 下)构建和运行时,我会看到带有“hello world”消息的提示窗口。 它保持打开状态,直到我手动关闭它。 但是,当我双击.exe文件时,提示只是闪烁并消失,这是为什么? 回答1 没有人明确告诉你这一点,所以我会: 双击文件时看到的是正常的。 您的 IDE 所做的(保持窗口打开)是帮助您调试应用程序的功能。 为什么会这样? 由于您正在开发控制台应用程序,因此您的应用程序必须有一个控制台来显示其输出。 如果还没有,则会创建一个新控制台(即黑色窗口)。 如果您从控制台(例如,从cmd.exe )启动您的程序,它只会继承父控制台而不创建新控制台[1]。 在使用控制台的最后一个应用程序退出后(在第一种情况下,它只是您的程序),控制台关闭。 对于在不带参数运行时只打印帮助文本的控制台应用程序,您会一直注意到这一点。 如果从资源管理器中双击它们,带有一些文本的黑色窗口将闪烁,然后立即关闭。 有时,一个执行某些操作并立即关闭的程序就是您想要的。 例如,您可以从脚本调用这些应用程序。 另一方面,您的应用程序可以是交互式的
  • Update Text Box Properly when Cross-threading in Visual Basic (VS 2012 V11)
    Here is my question in short: How do I use the BackGroundWorker (or InvokeRequired method) to make thread-safe calls to append text to a text box? Here is my question in with much detail and background: I've been working on a program that copies file from one location to another for backup purposes. I set an option that will save a file when the file is modified using the FileSysteWatcher. Here is the code: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Load Dim directoryPath As String = Path.GetDirectoryName(TextBox1.Text) Dim