未找到

未发布 AutoVue 21.0.1新版本特性:支持在没有Applets的浏览器中运行
by Harriet666 keys 分享 1490257298040

21.0.1版本的AutoVue中的一大特色就是可以在没有Applet的浏览器中支持AutoVue。Chrome前一段时间删除了对Applet的支持。Firefox也即将推出。所以这是一个非常重要的功能,允许人们继续使用AutoVue作为Web环境的一部分。

【AutoVue系列产品包含:AutoVue 3D Professional AdvancedAutoVue Electro-Mechanical ProfessionalAutoVue EDAAutoVue OfficeAutoVue 2D Professional

AutoVue 21.0.1增加了对Java Web Start Framework的支持,这允许浏览器轻松运行java应用程序。使用此框架,AutoVue客户端可以作为浏览器之外的单独的应用程序运行,这提供了更高的安全性,并且可以在没有Applet支持的浏览器中使用。

对于用户来说,体验将与以前版本的AutoVue非常相似,你可以在浏览器中单击文档或模型,AutoVue客户端将启动并显示相应的文档或客户端。  

未发布 2017年移动开发中优秀的10大框架
by Harriet666 keys 分享 1488161905996
框架被视为复杂的软件开发环境。它们包括许多子组件,其主要工作是帮助您创建应用程序。框架提供了许多工具集、调试器、编译器、不同的代码库,应用程序编程接口和其他组件。它们都是为了让应用程序开发人员工作变得更加容易。框架是APP开发的基础,它们可以使整个开发过程变得更简单、更令人兴奋。没有框架,开发人员将从头开始编写他们想要开发的每个应用程序。这将涉及大量的编码来让应用程序可以在不同的平台上工作。这里将列举出最好的框架来让你的开发更简单和更容易。

点击查看十大框架具体信息>>>

未发布 MailBee.NET Objects撰写邮件教程(一):添加和删除自定义标题
by Harriet666 keys 分享 1501488557962
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
MailBee.NET Objects介绍和试用点击查看>>>
 
本文主要介绍了如何添加和删除自定义标题的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!

在新邮件中添加自定义标题,可以使用一下代码:
C#
// Create a MailMessage object.
MailMessage msg = new MailMessage();

// Add a header.
msg.Headers.Add("MyHeader", "Some value for my own header", false);

VB.NET
' Create a MailMessage object.
Dim msg As New MailMessage()

' Add a header.
msg.Headers.Add("MyHeader", "Some value for my own header", False)

你可以指定标题的名称和值,如果邮件中已经存在标题,也可以指定是否重写。当覆盖参数设置为true并且具有相同名称的标题已经存在时,它将被覆盖;否则,将添加具有相同名称的另一个标题。
开发人员还可以轻松地从邮件中删除所有自定义标题:
C#
// Remove the non-standard headers from the message.
msg.Headers.RemoveCustomHeaders();

VB.NET
' Remove the non-standard headers from the message.
msg.Headers.RemoveCustomHeaders()
此方法可以删除标准的标题以外的所有标题。你可以在RemoveCustomHeaders方法描述中找到标准标题列表。另一种方法是使用Remove或RemoveAt方法,也能够指定要删除的标题:
C#
// Remove the specified header.
msg.Headers.Remove("X-Special-Header"); 

// Remove the first header.
msg.Headers.RemoveAt(0);

VB.NET
' Remove the specified header.
msg.Headers.Remove("X-Special-Header") 

' Remove the first header.
msg.Headers.RemoveAt(0)
未发布 .NET图像处理库ImageGear for .NET v23.2发布,增加新的PDF压缩功能
by Harriet666 keys 分享 1501665439062
ImageGear for .NET是一款图形图像处理控件,具有扫描,压缩,浏览、添加注释,打印,图像编辑,OCR以及PDF和矢量图像支持,使开发人员可以快速地开发出图像处理程序,可用于.NET Framework2.0、3.0、3.5、4.0,ASP.NET,WPF,SilverLight,DirectX 10和Direct3D 10。支持超过100种图片格式,包含:TIFF, JPEG, CAD, Vector, 3D PDF, PDF/A, PS等。
 
ImageGear for .NET最新版下载>>>
 
ImageGear for .NET v23.2是其.NET图像处理库的最新版本,提供了新的PDF优化和压缩、Acroforms自定义部件、Visual Studio 2017示例支持、支持Windows Server 2016。
 
PDF优化和压缩可以让用户删除元数据并将大型文件和图像压缩45%。这样可以节省宝贵的存储空间,同时保持原始图像或文档的保真度。
 
ImageGear的新Acroforms自定义窗口小部件允许自定义PDF中的表单域,例如:背景颜色、边框颜色宽度和样式以及文本颜色、字体和大小。用户能够自定义他们的PDF表单,以适应其独特的需求和风格。
 
通过添加Visual Studio 2017示例代码和Windows Server 2016支持,Accusoft将不断提供编程环境和代码示例。
 

ImageGear for .NET v23.2有哪些新功能?


  • 通过添加外观定制(如颜色和边框)以及改进创建、添加和删除小部件来改进Acvforms小部件注释功能。
  • 增加了减小文件大小的PDF文档的压缩功能。有关如何保存压缩PDF文档的信息,请参阅SaveCompressedPDF示例。
  • 增加了Visual Studio 2017示例。
  • 支持Windows Server 2016支持。
  • 修复错误并进行了其他改进。
未发布 【示例教程】使用leadtools的WCF接口功能实现从web端上传Dicom影像文件
by Harriet666 keys 分享 1517903663716
Leadtools 19总套包下载>>>
 
leadtools为web端提供了wcf接口来供用户可以登录pacs系统,检索,查看以及上传影像。本篇博客讲解如何创建一个网页来实现上传功能,通过WCF进行dicom文件的上传时,是将dicom文件转换为base64数据流,分段进行传输。
 
本篇博客运行的前提是已经部署完成Leadtools HTML5 Web Viewer,可以正常浏览。参考https://www.evget.com/article/2018/2/6/27757.html
 
在部署完成后,将下面的代码复制到一个HTML文件中,即可运行进行测试。另外需要添加html文件所需的jquery.min.js到同文件夹路径下。
<head>
    <meta charset="UTF-8">
head>

<form onsubmit="return false;">
    <input type="hidden" name="file_base64" id="file_base64">
    <input type="file" id="fileup" multiple="multiple">
    <input type="submit" value="submit" onclick="$.post('./uploader.php', $(this).parent().serialize());">
    <div>
        <div id="msg">div>
    div>
form>
<script src="scripts/jquery.min.js">script>
<script>

    $(document).ready(function () {
        authcookie = login();
        document.cookie = "authcookie=" + authcookie;
        $("#fileup").change(function () {
            getauthcookie("authcookie");
            filelist = this.files;
            file = filelist[fileindex];
            upload(file);
        });
    });
    var authcookie;//保存authcookie
    var filelist;//上传文件列表
    var file;//当前上传文件
    var tempfile = "";//临时文件名称
    var position = 0;
    var size = 40000;//分段大小
    var done = false;
    var fileindex=0;//当前上传文件序列号

    function upload(tempfile) {
        if(position==0)
            done=false;
        var reader = new FileReader();
        if (file.size > position + 40000)
            reader.readAsArrayBuffer(file.slice(position, position + 40000));
        else 
            reader.readAsArrayBuffer(file.slice(position, file.size));
        reader.onload = function (e) {
            if (e.target.readyState === 2) {
                var base64string = base64ArrayBuffer(e.target.result);
                var data = {
                    authenticationCookie: authcookie,
                    dicomData: base64string,
                    fileName: tempfile,
                    status: position==0?"start":"append"
                };
                tempfile = senddata(JSON.stringify(data));
                if (!done) {
                    position += 40000;
                    upload(tempfile);
                    if (position+40000>file.size)
                        done = true;
                }
                else {
                    var data = {
                        authenticationCookie: authcookie,
                        dicomData: "",
                        fileName: tempfile,
                        status: "done"
                    };
                    tempfile = senddata(JSON.stringify(data));
                    position = 0;
                    $("#msg").html($("#msg").html()+"第"+(fileindex+1)+"个文件已经上传完成

"); fileindex += 1; if (fileindex < filelist.length) { file = filelist[fileindex]; upload(tempfile); } else { fileindex = 0; $("#msg").html($("#msg").html() + "文件全部已经上传完成

"); } } } }; } function senddata(data) { var result; $.ajax({ type:"post", url: "http://localhost/MedicalViewerService19/StoreService.svc/UploadDicomImage", data: data, contentType: "application/json", dataType: "json", success: function(data){result= data}, async: false }); return result; } function login() { var auth; var logininfo = { userName: "a", password: "a", userData: "" }; $.ajax({ type: "post", url: "http://localhost/MedicalViewerService19/AuthenticationService.svc/AuthenticateUser", data: JSON.stringify(logininfo), contentType: "application/json", dataType: "text", success: function (data) { auth= data }, async: false }); return auth; } function query() { } function getauthcookie() { document.cookie.split(";").forEach(function (val, index) { var index = val.indexOf("="); if ($.trim(val.substring(0, index)) == "authcookie") { authcookie = $.trim(val.substring(index + 1, val.length)); } }); return ""; } function base64ArrayBuffer(arrayBuffer) { var base64 = ''; var encodings = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; var bytes = new Uint8Array(arrayBuffer); var byteLength = bytes.byteLength; var byteRemainder = byteLength % 3; var mainLength = byteLength - byteRemainder; var a, b, c, d; var chunk; // Main loop deals with bytes in chunks of 3 for (var i = 0; i < mainLength; i = i + 3) { // Combine the three bytes into a single integer chunk = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2]; // Use bitmasks to extract 6-bit segments from the triplet a = (chunk & 16515072) >> 18; // 16515072 = (2^6 - 1) << 18 b = (chunk & 258048) >> 12; // 258048 = (2^6 - 1) << 12 c = (chunk & 4032) >> 6; // 4032 = (2^6 - 1) << 6 d = chunk & 63; // 63 = 2^6 - 1 // Convert the raw binary segments to the appropriate ASCII encoding base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d]; } // Deal with the remaining bytes and padding if (byteRemainder == 1) { chunk = bytes[mainLength] a = (chunk & 252) >> 2; // 252 = (2^6 - 1) << 2 // Set the 4 least significant bits to zero b = (chunk & 3) << 4; // 3 = 2^2 - 1 base64 += encodings[a] + encodings[b] + '=='; } else if (byteRemainder == 2) { chunk = (bytes[mainLength] << 8) | bytes[mainLength + 1]; a = (chunk & 64512) >> 10; // 64512 = (2^6 - 1) << 10 b = (chunk & 1008) >> 4; // 1008 = (2^6 - 1) << 4 // Set the 2 least significant bits to zero c = (chunk & 15) << 2 // 15 = 2^4 - 1 base64 += encodings[a] + encodings[b] + encodings[c] + '='; } return base64; } script>

6

未发布 【推荐】2017年你应该了解的11款新型编程工具
by Harriet666 keys 分享 1503912408799
对于开发人员来说,工具是至关重要的。工具可以使开发人员的日常工作更加轻松、高效,因为只要关注最重要的事情即可。想要寻找到更好的替代工具往往比坚持使用熟悉的、过时的工具要困难得多。在这篇文章中,我们将列出你可以在日常工作中使用的一些新的编程工具。对在线流媒体感兴趣的许多开发人员也已经开始在其开发环境中使用这些新工具,因为这些工具与其陈旧的设施相比具有明显的优势。
 
你可能会想,如果旧的工具可以完成工作,那么是否还有必要去寻找新的替代工具呢?可以肯定的说,技术始终在变革,它正在不断地塑造、改变我们的工作方式,所以,它有必要保持更新。此外,新开发工具可以通过自动化在某些方面为你的工作增添更多价值,从而更好地帮助你控制你的工作流程。所以,如果你现在确信并准备好考虑使用市场上一些新的编程工具,请继续阅读本文,以找出其中最好的、最适合你的工具。
 

1. LiveEdu


LiveEdu 是开发人员和工程师经常光顾的好地方。它是一个基于项目的学习平台,服务于游戏开发、设计、数据科学、编程、增强现实、人工智能以及虚拟现实等方面的技能提升。学习的关键在于项目的真实性,而且 LiveEdu平台还提供了蕴含许多不同主题的项目教程,可以适用于任何人,包括初学者。
 

2.Standup


Standup 对于监控团队开发进度而言是一款非常好的工具。它可以很好地集成所有你已经在用的流行工具(例如Trello、BitBucket、GitHub等)。那么接下来,它是如何工作的呢?首先,它会根据开发团队成员的提交历史完全自动地生成工作报告。这有助于团队成员之间轻松地实现信息共享,也让团队成员之间形成了积极的竞争关系。这一想法是由Mesh Studio提出的,当时他们正在完成一个客户的严格的汇报需求的合同工作。
 

3. Cell 

Cell 自称是“自驱动的网页应用开发框架”。“框架”这一关键词应该会立刻让你想到,它应该包含APIs、方法、或其他框架应该具备的功能。但是,Cell却提供了一种全新的方式来查看如何编写HTML 代码。它适用于3个简单的规则,而且不运行任何函数就能够自主构建DOM。此外,Cell还提供了一种类似写小说的方式(a novel approach)来开发网页应用。
 

4. Osquery

Osquery 是 Facebook 通过 Query 语言揭示操作系统的方法。虽然乍看起来并不是很有趣,但它其实具有很多实际的用途。例如,它可以用于获取通过USB连接的硬件设备的列表。
 
对于那些想要保护自己的应用程序免受安全漏洞影响,或是能够更好地监视其应用程序在不同系统上的性能的Web开发人员来说,其中一个相对比较有效的方法就是不使用底层函数或API交互的能力。

 

5. React Native Firebase

React Native Firebase 可以帮助开发人员更加轻松地使用 React Native 和Firebase。利用RN Firebase,你可以 在Android和iOS系统上使用 JavaScript bridge轻松访问本地 eFirebase SDK。
 

6. Warp

Warp 是一款非常简单的工具。它可以让任何人分享他们的终端。共享终端就像输入一个 warp open 命令一样简单。这可以帮助开发人员或主机供应商轻松地分享彼此的终端。这款工具的关键特征在其“安全性”和“易于传输”。让分享变得前所未有地容易!你很快就会忘记SSH 的必要性,并使用该功能与远程团队和新成员进行互动。
 

7. Draft

Draft 是一款新工具,可以帮助开发人员轻松地在 Kubernet上构建应用程序。截至目前为止,在把应用移动到版本库之前,对应用程序进行测试仍然是一项耗时且艰巨的工作。但是,利用 Draft,开发人员就可以针对“内部循环”并在Kubernetes开发沙箱中对应用程序进行测试。沙箱可以通过公共URL轻松获得,并可以使用本地编辑器进行修改。
 

8. Docsify 

Docsify 是一个文档站点生成器工具。但是,它与其他的静态HTML文件生成器却是完全不同的。利用Docsify,你可以使用 Markdown 文件生成你的站点。这样一来,你就可以修改Markdown中的代码,并及时看到更新。这种差异性使它与其他流行工具(例如GitBook等)相比也能占据明显的竞争优势。


9. Prismic IO 

Prismic IO 是一个无头CMS系统的后台应用。多亏了API,让它可以与任何站点和应用程序一起使用,并可以轻松地与现有系统进行集成。此外,CMS 还为营销人员提供了一些现代化的发布和创作工具。


10. Javalin

Javalin 为Kotlin和Java提供了简单的REST API。该REST API非常易于使用,且API也是非常流畅的。它不是一个框架,因此不应该被混淆。其目的主要是提供一个非常简单易用的轻量级 REST API库。
 
以下是用Kotlin实现的 “Hello World”API的示例:
import io.javalin.Javalin
funmain(args: Array) {
    val app = Javalin.create().port(7000)
    app.get("/") { ctx -> ctx.result("Hello World") }
}


11. Bootsnap

我们都知道,速度对于一些应用程序而言有多重要。Ruby的性能可谓是臭名昭著。然而,Bootsnap尝试通过缓存很多Ruby方法并提高其整体性能来加快其速度。Bootsnap可以以gem的形式轻松地插入你的应用程序中,它目前可用于 MacOS 和 Linux 系统。
未发布 MailBee.NET Objects显示HTML/纯文本邮件教程(二):在桌面应用程序中显示
by Harriet666 keys 分享 1502445139738
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
MailBee.NET Objects介绍和试用点击查看>>>
 
本文主要介绍了在桌面应用程序中显示HTML/纯文本邮件的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
如果你需要在桌面应用程序中以纯文本控件(如Memo)显示HTML消息,则应将HTML文本转换为纯文本。
C#
msg.Parser.HtmlToPlainMode = HtmlToPlainAutoConvert.IfNoPlain;
VB.NET
msg.Parser.HtmlToPlainMode = HtmlToPlainAutoConvert.IfNoPlain
 
上面的代码将邮件转换为纯文本。然后你可以显示如下的纯文本正文(假设textBox1是表单上的文本控件):
C#
textBox1.Text += msg.BodyPlainText;
VB.NET
textBox1.Text += msg.BodyPlainText
未发布 Xmanager Enterprise网络通讯工具更新合集
by Harriet666 keys 分享 1508924928131
Xmanager Enterprise是完整的网络连接套件,它带有一个高性能PC X服务器,支持OpenGL(GLX)、3d硬件加速、安全终端模拟器、文件传输客户端和LPD打印机服务器。Xmanager 
Enterprise 4使3d X应用程序运行得更快,通过SSH和TELNET来提供安全的远程终端访问,通过SFTP/FTP进行方便的文件传输,使用LPD在本地打印远程文件等。
 
Xmanager Enterprise v5.1243下载>>>
 
Xmanager Enterprise v5.1243更新:
  • 修复:[Xmanager]全屏启动时屏幕闪烁
  • 修复:[Xshell]自动更新会错误地显示用户正在使用最新版本
  • 修复:[Xshell]终端复位时,光标不复位
  • 修复:[Xshell]重命名选项卡有时将名称应用于其他选项卡
  • 修复:[Xshell]反向视频终端转义序列被忽略
  • 修复:[Xshell]当选择新窗口中打开时,将-newtab选项中的新选项卡名称应用于现有选项卡
  • 修复:[Xftp]从连接的会话中打开新终端时,系统将提示用户输入密码
  • 修复:[Xftp]从会话的上下文菜单中调用Xftp始终默认为TCP 22
  • 修复:[Xlpd]资源清理

Xmanager是市场领先的PC X服务器,它能够带来Windows平台下强力的虚拟应用技术。使用Xmanager,能够使安装在远程的基于UNIX系统的X应用程序与一般的Windows应用程序
完全一样。它提供了一个强大的会话管理控制台、易于使用的X应用程序启动器、X服务器概要文件管理工具、SSH模块和用于安全访问的远程高性能PC X服务器及虚拟化的UNIX/Linux
环境。

Xmanager v5.1056下载>>>

Xmanager v5.1056更新:
  • 修复:[Xmanager]全屏启动时屏幕闪烁

Xshell是一个功能强大的终端模拟器,支持SSH、SFTP、TELNET、RLOGIN和SERIAL。它提供业界领先无法替代的性能和特性集。它有许多对企业用户有用的特性,包括:分页式环境
、动态端口转发、自定义键映射、用户定义按钮、VB脚本以及显示2字节字符和支持国际语言的UNICODE终端。
 
Xshell v5.1333下载>>>

Xshell v5.1333更新:
  • 修复:[Xshell]自动更新会错误地显示用户正在使用最新版本
  • 修复:[Xshell]终端复位时,光标不复位
  • 修复:[Xshell]重命名选项卡有时将名称应用于其他选项卡
  • 修复:[Xshell]反向视频终端转义序列被忽略
  • 修复:[Xshell]当选择新窗口中打开时,将-newtab选项中的新选项卡名称应用于现有选项卡

Xftp是一个灵活和轻量级的SFTP / FTP客户端,它主要用于为用户提供通过网络安全的传输文件。它提供了许多强大的功能,比如直接编辑、多窗格、文件夹同步、支持FXP、服务器之
间传输以及集成第三方编辑器。在处理远程文件方面Xftp将为你节省时间和精力。 对于家庭和学校的用户来说,Xftp是免费的。具体情况可参阅家庭和学校用户免费使用许可协议条款和
条件。

Xftp v5.1229下载>>>
 
Xftp v5.1229更新:
  • 修复:[Xftp]从连接的会话中打开新终端时,系统将提示用户输入密码
  • 修复:[Xftp]从会话的上下文菜单中调用Xftp始终默认为TCP 22

Xlpd是一个用于Windows系统的简单的行式打印机后台程序(LDP)和打印作业管理工具。它通过LPD协议从远程服务器接收打印任务并把该打印任务发送至本地打印机。LPD是一个支
持多种操作系统的标准的打印协议,支持包括UNIX、Solaris和Linux等系统。
 
Xlpd v5.1231下载>>>
 
Xlpd v5.1231更新:
  • 修复:[Xlpd]资源清理
未发布 【收藏】Edraw Max(亿图图示)软件快捷键大全
by Harriet666 keys 分享 1502961575300
Edraw Max(亿图图示)作为一款全类型的图形图表设计软件,深受广大用户的欢迎。目前,Edraw Max(亿图图示)里拥有20000多个符号,有效地满足使用者的需求;另外,简单的拖拽式操作,帮助大多数人在零基础的条件下也能学会使用。其实,Edraw Max(亿图图示)里还有一套齐全的快捷键按钮,使用者甚至可以脱离鼠标,进行高效绘图。目前Edraw Max(亿图图示)在线订购享75折优惠活动正在进行中,欢迎您下载、购买进行运用! 

Edraw Max(亿图图示)v8.7最新版下载地址>>>

Edraw Max(亿图图示)最齐全的绘图组合快捷键

基本工具

Ctrl+1 选择
Ctrl+Shift+1 索套选择
Ctrl+2 文本
Ctrl+Shift+2 文本调整工具
Ctrl+3 直角连接线
Ctrl+Shift+3 曲线连接线
Ctrl+Shift+4 直线连接线
Ctrl+Shift+5自由曲线连接线
Ctrl+4线条工具
Ctrl+5 矩形工具
Ctrl+6 椭圆工具
Ctrl+7 贝塞尔曲线工具
Ctrl+8 连接点工具
Ctrl+9 裁剪工具

排列组合

Ctrl+A 全选
Ctrl+Shift+A 相同角度
Ctrl+Shift+F 置顶
Ctrl+Alt+F 上移一层
Ctrl+Shift+B 置底
Ctrl+Alt+B 下移一层
Ctrl+Shift+G 组合
Ctrl+Shift+U 取消组合

大小

Ctrl+Shift+W 等高
Ctrl+Shift+H 等宽
Ctrl+Shift+A 相同角度
Ctrl+Shift+Z 相同大小

插入图片

Alt+Shift+N 空白页
Ctrl+Shift+I 插入图片
Ctrl+Shift+V 插入矢量文本
Ctrl+K 插入超链接

符号

Ctrl+E 钢笔工具
Ctrl+Shift+E 铅笔工具
Ctrl+M 移动锚点
Ctrl+Shift+M 转换锚点类型
Ctrl+F9 符号数据
Ctrl+F11 保存符号

顶部菜单

Ctrl+N 新建
Ctrl+O 打开
Ctrl+Z 撤销
Ctrl+Y,Ctrl+Sift+Z 重做
Ctrl+P 打印
Ctrl+S 保存
Ctrl+W 关闭
Ctrl+Alt+O 常规设置

文字编辑

Ctrl+A 全选
Ctrl+B 加粗
Ctrl+I 斜体
Ctrl+U 下划线
Ctrl+C 复制
Ctrl+X 剪贴
Ctrl+Y 重做
Ctrl+Z 撤销
Ctrl+V 粘贴
Ctrl+Alt+V 选择性粘贴
Ctrl+Shift+V 插入矢量文本
Backspace,Del 删除
Enter 换行
Esc 完成

思维导图编辑

Enter 添加同级
Ctrl+Enter 添加下一级
Tab 切换选择
Del 删除

其他快捷键

F1 使用说明
F2 文本工具
F3 设置形状格式
F4 数据形状
F5 从首页播放幻灯片
Shift+F5 从当前页播放幻灯片
F6 页面设置
F7 拼写检查
F9 形状数据
F11 页面预览
Ctrl– 缩小视图
Ctrl+F1 显示/隐藏菜单条
Crtl+Alt+G 网格
未发布 Windows 10用于Fluent Design的UWP社区工具包蓄势待发
by Harriet666 keys 分享 1504861717599
Microsoft继续为即将推出Windows 10 FCU(Fall Creators Update)在做着准备工作其中部分工作是目前正在开展的开发者工具和资源的升级。已完成的工作包括:Visual Studio 2017 15.4版已支持UWP应用使用.NET Standard 2.0;UWP社区工具包(UCT,UWP Community Toolkit)的升级已完成,可以使用Microsoft新提供的“流畅设计语言”(Fluent Design Language)。“流畅”体系最终将成为新的Windows 10用户界面。

UCT使得Windows 10开发人员及对该平台感兴趣的人可以查看UWP应用的构建方式,并试用UWP平台提供多种可用控件。UCT 2.0推出了四个新添加的控件,分别是InAppNotification、TextToolbar、Expander和Menu。其中Menu控件已完成升级,支持下划线特性和非字符串内容, 同时改进了处于非缺省位置菜单的动画和行为。

InAppNotification控件为UWP应用提供了一种通知窗口生成动作,类似于IE在下载文件时所给出的通知窗口。Textbar空间提供了富文本或Markdown格式文本的编辑功能。该控件还支持用户使用定制的Formatter对象添加对更多格式的处理功能。

Microsoft将在转向UCT第二版后不再提供对VS2015的支持,开发人员应使用VS2017。Microsoft已经给出了UCT的入门文档,并在Windows Store上提供了一些可构建UCT演示的例子应用。工具包的源代码以MIT许可提供于GitHub上,其中包括了完整的发行说明。(例子应用是使用C#编写的。)
有用(0)


 近期热门 - 点击最多
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Node.js 打印vite react+go项目目录树
  3. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  4. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  5. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  6. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  7. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  8. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  9. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  10. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法

  全端社区 - 最新回复
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  3. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  4. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  5. Node.js 打印vite react+go项目目录树
  6. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  7. Windows与Mac通过git ssh和rsync实现文件共享互传
  8. Windows与Mac通过git ssh和scp实现文件共享互传
  9. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  10. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA