电脑桌面上的图标消失了怎么办? 5个完美解决方案技巧
电脑桌面上的图标消失是一个比较常见的问题。很多用户都会遇到这种情况,这会给电脑带来很大的不便。本文将介绍一些解决方案来帮助用户完美解决这个问题。很多人都会遇到不小心删除了电脑图标,或者电脑突然不显示桌面图标的问题。造成这个问题的主要原因和解决办法有五个。如果桌面图标被删除或移动到其他位置,您可以通过以下方法恢复。因为有时电脑系统会出现异常,导致桌面图标无法显示。因此,有必要检查病毒并及时清除。微软计划于 2020 年 5 月发布 Blazor 的第一个版本。该种子是一种名为 asm.js 的实验技术。WebAssembly 既是 asm.js 的继承者,也是一种完全不同的技术。
案例:电脑桌面上没有任何显示?
“求助!电脑开机后只有桌面,没有图标,怎么办?很着急,不知道如何解决?”
电脑桌面上的图标消失是一个比较常见的问题。 很多用户都会遇到这种情况,这会给电脑带来很大的不便。 那么,如果电脑桌面上的图标消失了,该怎么办呢? 本文将介绍一些解决方案来帮助用户完美解决这个问题。
电脑桌面上的图标消失了怎么办? 5种方法!
很多人都会遇到不小心删除了电脑图标,或者电脑突然不显示桌面图标的问题。 造成这个问题的主要原因和解决办法有五个。 让我们来看看!
演示型号:ASUS Dreadnought 1414s
系统版本:Windows 10 方法一:检查桌面图标是否被隐藏
有时,电脑桌面上的图标消失了,但实际上它只是被隐藏了。 您可以通过以下方法检查是否被隐藏。
右键单击桌面空白处,选择[查看],然后从下拉菜单中选择[桌面图标],确保选中所有需要的图标。
方法二:恢复桌面图标
如果桌面图标被删除或移动到其他位置,您可以通过以下方法恢复。 右键单击桌面空白处,选择【个性化】选项,然后选择【主题】选项,然后单击【桌面图标设置】。
在弹出的【桌面图标】下选择需要恢复的图标,然后单击【确定】按钮。 如果您想更改图标,可以点击【更改图标】按钮进行设置。
方法三:重启电脑
有时,【重新启动计算机】可以解决桌面图标丢失的问题。 因为有时电脑系统会出现异常,导致桌面图标无法显示。
方法四:检查病毒
如果您的计算机感染了病毒,桌面图标也可能会消失。 因此,有必要检查病毒并及时清除。
方法五:恢复系统
如果以上方法都不能解决问题,可以考虑恢复系统。 使用此方法需要注意的是,在恢复系统之前,一定要备份数据,以免丢失。
综上所述,如果我的电脑桌面上的图标消失了怎么办? 这并不是一个很难解决的问题。 只要您尝试以上方法,相信您一定能够完美解决这个问题,让您的电脑使用更加方便。
过往推荐:
我的电脑C盘满了,如何清理C盘空间?
哪个免费数据恢复软件更好? 这些都是排名前十的软件!
开机后无法进入系统?原因及解决方法
1.WebAssembly的发展历史
目前支持 WebAssembly 的项目有很多,但增长最快的是 Blazor,它是一种用于构建单页面的 .NET 技术。 它已从预览版升级到测试版。 微软计划于 2020 年 5 月发布 Blazor 的第一个版本。
什么是 Blazor? 它是一项 Microsoft 技术,将 C# 和 .NET 引入浏览器。 它使用 WebAssembly 进行工作,WebAssembly 是一种高性能管道,可将代码预编译为紧凑的二进制格式。 最重要的是,每个主要浏览器(包括移动版本)都支持 WebAssembly。
十年前,JavaScript 统治世界的迹象并不明显。 Flash 和 Silverlight 也在运行。 两者都需要使用浏览器插件来完成工作,并且都用不同的用户界面方法替换 HTML。 这种方法使它们在功能上远远领先于 JavaScript,但随着移动互联网的出现,它们慢慢变得过时了。
但随后从最初的Javascript,到微软的JScript和CEnvi的ScriptEase的三足鼎立,再到最终的统一标准,当微软凭借将Internet Explorer与Windows系统捆绑的先天优势击败了Netscape时,两大巨头进入了一场激烈的竞争。持续数年的战争。 在静默时期,JavaScript就是在这样的情况下构思出来的。 当时的浏览器之王、Netscape Navigator 的创始人马克·安德森 (Marc Andreessen) 认为,Netscape 需要一种“胶水语言”来支持 HTML,以便网页设计师和兼职程序员可以轻松地用它来组装图像和内容等组件。插件,并且可以直接在网页标记中编写代码。 此外,微软迫在眉睫的压力也迫使Andreessen聘请Brendan Eich尽早将Scheme编程语言嵌入到Netscape Navigator中。 1995年,JavaScript以Mocha的名义开发出来,并于9月份在Netscape Navigator 2.0的测试版中首次发布,当时称为LiveScript。 12月,它在Netscape Navigator 2.0 beta 3中部署时更名为JavaScript。尽管Netscape Navigator最终在Chrome、Internet Explorer、Firefox等浏览器的追捧中落败,但JavaScript推动了网页的发展,至今仍在使用。
这是一种讽刺。 随着 JavaScript 征服世界,一颗微小的种子已经播下,这可能预示着 JavaScript 在未来某个时候的终结。 该种子是一种名为 asm.js 的实验技术。
这是 Mozilla 开发人员在 2013 年进行的一项古怪实验。他们正在寻找在浏览器中运行高性能代码的方法。 但与插件不同的是,asm.js 不会尝试与浏览器一起运行。 相反,它被设计为直接通过 Javascript 进行虚拟化。
本质上,asm.js 是简洁、优化的 JavaScript 语法。 它比常规 JavaScript 运行得更快,因为它避免了该语言的缓慢动态部分。 但实现这一点的网络浏览器还可以应用其他优化来极大地提高性能。 换句话说,asm.js 遵循黄金法则 - 不要破坏网络 - 同时提供未来改进的途径。 Firefox 团队使用 asm.js 以及名为 Emscripten 的转码工具来获取用 C++ 构建的实时 3D 游戏,并将其放入 Web 浏览器中,仅在 JavaScript 和原始野心上运行。
有人问为什么asm.js这么好。 简单来说,它的性能比 JavaScript 高数百倍,当然没有 Google 的 V8 引擎,因为 JavaScript 是一种类型语言,它需要猜测你的数据类型。 编译。 这种情况,在我看来肯定是需要遍历一个方法,然后进行计算。 与其这样做,我为什么不标记它呢? 当然,在不破坏 JavaScript 的情况下,arm.js 选择了一个恼人的想法。 如果你希望你的数据类型是int,那么声明一个值就变成变量名|0,这样就达到了它的目的。 。
尽管 asm.js 实验产生了一些令人眼花缭乱的演示,但它在很大程度上被工作开发人员忽视了。 对他们来说,这只是超越现代的一个有趣的方面。 但随着 WebAssembly 的创建,这种情况发生了变化。
WebAssembly 既是 asm.js 的继承者,也是一种完全不同的技术。 这是一种紧凑的二进制代码格式。 与 asm.js 一样,WebAssembly 代码被输入到 JavaScript 执行环境中。 它具有相同的沙箱和相同的运行时环境。 与 asm.js 一样,WebAssembly 的编译方式可以提高效率。 但现在,这些效率比以前更加明显,浏览器可以完全跳过 JavaScript 解析阶段。 对于通用逻辑,WebAssembly 比常规 JavaScript 快得多,几乎与本机编译的代码一样快。
WebAssembly 首次出现于 2015 年。如今,桌面和移动设备上的四大浏览器(Chrome、Edge、Safari 和 Firefox)完全支持它。 虽然可以通过将 WebAssembly 代码转换为 asm.js 来实现向后兼容性,但 Internet Explorer 不支持它。 让 IE 冷静一下吧! 但需要注意的是,WebAssembly 无法避免 JavaScript,因为它被锁定在 JavaScript 运行时环境中。 实际上,WebAssembly 至少需要使用一些普通的 JavaScript 代码来运行,因为它无法直接访问页面。 这意味着不通过 JavaScript 层就无法操作 DOM 或接收事件。
听起来像是一个限制,但聪明的 Microsoft 开发人员已经找到了将小型 .NET 运行时作为编译后的 WASM 文件偷运到浏览器中的方法。 这个运行时处理JavaScript互操作并提供基本服务,它可以为我们提供GC或其他用途。 Blazor 并不是唯一由 WebAssembly 支持的实验。 以 Pyodide 为例,它旨在将 Python 放入浏览器中,并提供用于数据分析的高级数学工具包。 据我所知,这应该使用 emscripten 的编译器。
人们常说Javascript什么时候可以取代服务器端语言,也有人说什么时候可以取代桌面应用,所以WebAssembly并不是用来取代JavaScript的。 这是为了解决现代问题,如果它做到了,它就真的做到了! 所以作为一名程序员,应该对WebAssembly给予足够的重视。 未来对Web应用程序快速加载的需求肯定会增加。
目前我们的.NET Core提供了两个Blazor模板,包括Blazor Server和Blazor WebAssembly。
Blazor Server 是一种具有一些有趣用例的技术,但由于持续的通信,您显然会牺牲一些性能 - 甚至不要询问离线功能。 Blazor WebAssembly 是最受关注的一种,也是我们在本文中探讨的一种。
程序员对 Blazor 最常见的误解是他们的 C# 代码被编译成 WebAssembly,发送到浏览器,然后执行。 这种方法并非不可能 - Blazor 的创建者暗示他们将来可能会尝试这种技术。 但这不是 Blazor 如今的工作方式。
换句话说,今天的 Blazor 是当您访问使用 Blazor 的网页时,该页面将首先下载缩小版的 .NET 运行时。 然后,它将下载您的应用程序以及您的应用程序使用的任何其他 .NET 库,所有这些都位于其本机 IL 中。 最后,Blazor 运行时执行 IL。
2. 配置您的开发环境
由于 Blazor 是预发布的早期测试版产品。 基础结构的关键部分正在发生变化,您将无法获得与其他类型的 Microsoft 项目相同级别的工具支持。 我尝试在 Visual Studio 2019 中进行编码,需要注意的一件事是,您需要检查 .NET FrameWork 4.8 以及 .NET Core 3.0+,以便您拥有一个包含 Web Assembly 的项目。 设置完成后,您可以轻松创建 Blazor 项目。 只需启动 Visual Studio,创建一个新项目,然后选择“Blazor App”项目。 Visual Studio 会询问您是否需要 Blazor Server 应用程序或 Blazor WebAssembly 应用程序。
3. Blazor的数据绑定和组件值传递
因为 Blazor 的 .NET Core 是另一个杀手锏! Web Blazor 框架横空出世! 我写的一篇文章未能提及更深入的内容,所以现在我将介绍 Blazor 的高级用法,并且在最后也会进行解释。 有颗糖,园友打造的Blazor UI! 多么令人兴奋的时刻,所以让我们开始吧。
3.1子组件
在 Blazor 的子组件中,可以使用 [Parameter] 关键字来定义传递的值。 我们做得到。 现在我们只提这个概念。 接下来我们将详细讲解如何在组件之间跨组件绑定值。
标题:@title
@code{
[Parameter]
public string title { get; set; }
}
然后,当调用时,Visual Studio IDE 可以直接提示您相关属性的愿景。
"Hello 博客园的兄弟们!">
运行效果如下:
3.2 单向绑定和双向绑定
不用说,single-bind就是新项目自带的模板Counter例子。
@page "/counter"Counter
Current count: @currentCount
@code {
private int currentCount = 0;
private void IncrementCount()
{
currentCount++;
}
}
这里,@currentCount 值根据“Click me”按钮的点击次数递增。
标记元素中的值会自动刷新,无需任何组件刷新。
双向绑定我们可以将事件自定义为两种绑定方法,包括@bind和@Bind-Value。 值得一提的是,你还可以通过使用事件参数指定@bind-value属性,并使用其他事件来绑定属性或字段。 例如,第四个文本框绑定到changeString,并使用oninput 事件属性在文本框的值更改时触发。 经过我的测试,如果你的绑定事件在Javascript中不存在,那么就没有问题,不会报系统级异常。 我觉得如果从IL转换成WebAssembly的话,会直接被过滤掉。 然而,Visual Studio 2019并没有给我们提示并让我们编译通过,即使是目前最高的16.0.4预览版本。 所以,这让我很惊讶。
在这里可以使用bind-value 或者 bind 当然这里确保您不使用其它事件!
"changeString" />
这是我输入的内容: @changeString
oninput
"changeString" @bind-value:event="oninput" />
@code {
string changeString = "";
}
运行效果如下:
3.3组件绑定
如果想要跨组件绑定属性值,可以使用@bind-{property},在这里可以跨组件绑定属性值。 我们来试试吧。 首先,我们创建一个子控件。 这个 Blazor 叫做 Baby,有一个身份。 证书 ID 和出生地址的属性。
EventCallback 使用非常广泛。 它可以跨组件共享方法和属性。 如果不写下面两个属性,就会报错。
@page "/baby"Child Compoent
出生的Baby IdentityCard:@Baby_IdentityCrad_Id
在{@Baby_new_Address} 生的
@code {
[Parameter]
public string Baby_IdentityCrad_Id{ get; set; }
///
/// 这个属性也是牛的雅皮~~~ hhh
///
[Parameter]
public string Baby_new_Address{ get; set; }
[Parameter]
public EventCallback<string> Baby_IdentityCrad_IdChanged { get; set; }
[Parameter]
public EventCallback<string> Baby_new_AddressChanged { get; set; }
}
什么样的父亲就会有什么样的儿子? 现在我们已经创建了父亲,我们就称之为Father.razor吧~
@page "/father"Father
"@id_Card"
@bind-Baby_new_Address="@address">
@code {
public string id_Card { get; set; }
public string address { get; set; }
private void ChangeTheYear()
{
id_Card = Guid.NewGuid().ToString();
address = "老张";
}
}
运行效果如下:
如果要在子组件中定义事件,可以使用 MouseEventArgs 接受设备上的事件,然后附加事件。
[Parameter]
public EventCallbackOnClick { get; set; }
4. 级联价值转移
在某些情况下,使用组件参数将数据从祖先组件流式传输到从属组件是不方便的,特别是当存在多个组件层时。 级联值和参数为父组件向其所有后代组件提供值提供了一种便捷的方式。 级联值和参数还提供了一种协调组件的方法。 让我们尝试通过首先创建一个顶级组件来构建一个示例。
@page "/myDome"姓名:"@pName" />
年龄:"@pAge" @bind-value:event="oninput"/>
"@pName" Name="ProfileName">
"@pAge" Name="ProfileAge">
@code {
private string pName { get; set; } = "张三";
private int pAge { get; set; } = 35;
}
ParentComponent.razor:
"background-color:darkgray;width:200px;">
Parent Component
"padding:10px;">
年龄 :@Age
@code{
[CascadingParameter(Name = "ProfileAge")]
int Age { get; set; }
}
ChildComponent.razor:
"background-color:beige;width:200px;">
Child Component
名称 : @Name.ToString()
@code{
[CascadingParameter(Name = "ProfileName")]
string Name { get; set; }
}
运行效果如下:
可以发现,第一层直接对第二层和第三层组件进行数据穿透。 但需要注意的是,CascadingValue的Name必须与CascadingParameter的Name相同,否则会出现执行错误。
5. 路由
从古至今,任何大型开发框架都有路由,否则可能不行。 事实上,Blazor的启动页面也使用了路由,这是毋庸置疑的。 当您的组件具有@page指令时,为路由模板指定的RouteAttribute将被分配给生成的类。 在运行时,路由器将使用 RouteAttribute 来查找组件类并渲染哪个组件包含与请求的 URL 匹配的路由模板。
@page "/luyou"
@page "/luyou/{text}"Blazor is @Text!
@code {
[Parameter]
public string Text { get; set; }
protected override void OnInitialized()
{
Text = Text ?? "fantastic";
}
}
运行效果如下:
在上面的示例中应用了两个 @page 指令。 第一个允许在没有参数的情况下导航到组件。 第二个 @page 指令采用 {text} 路由参数并将该值分配给 Text 属性。
关于 Blazor 基本介绍的文章就到此为止。 我相信您会发现 Blazor 太棒了! 它是一个现代的开源框架。 它的所有者也是一家长期抛弃过时闪亮新技术的公司。 因此,大多数开发人员应谨慎使用 Blazor。 只要 JavaScript 可以完成 Blazor 可以做的所有事情,而无需面临下载大小、性能和新工具堆栈的额外挑战,大多数开发人员都会照常工作。
这并不意味着 Blazor 不能在所有这些领域占有一席之地。 它甚至可能成为.NET Web 应用程序开发的主导力量。 但如果我今天必须下注,这就是我会依赖的。 WebAssembly 是未来。 但就目前而言,Blazor 只是一个有趣的可能性。
6.复活节彩蛋
现在! 我的好朋友Yuchen正在开发一个名为Blazui的UI组件。 为什么叫布拉祖伊?
Blazor + Element UI = Blazui,Blazor版本的Element UI,无JS,无TS,使用.Net编写的前端UI框架,不是Silverlight,不是WebForm,开箱即用! !
Blazui演示地址:9000。 QQ群:74522853,码云地址:
请参阅使用 Blazor 的先决条件:
安装.Net Core 3.0
安装VS2019
安装所有 VS2019 Blazor 扩展
现在 Blazor 已经变得越来越好,让我们现在就开始吧! .NET Core 不仅仅是开源!
来源: