我试图在系统托盘中显示2-3个可更新的字符,而不是显示.ico文件 - 类似于CoreTemp在系统中显示温度时的操作尝试:
我在WinForms应用程序中使用NotifyIcon以及以下代码:
Font fontToUse = new Font("Microsoft Sans Serif", 8, FontStyle.Regular, GraphicsUnit.Pixel);
Brush brushToUse = new SolidBrush(Color.White);
Bitmap bitmapText = new Bitmap(16, 16);
Graphics g = Drawing.Graphics.FromImage(bitmapText);
IntPtr hIcon;
public void CreateTextIcon(string str)
{
g.Clear(Color.Transparent);
g.DrawString(str, fontToUse, brushToUse, -2, 5);
hIcon = (bitmapText.GetHicon);
NotifyIcon1.Icon = Drawing.Icon.FromHandle(hIcon);
DestroyIcon(hIcon.ToInt32);
}
Run Code Online (Sandbox Code Playgroud)
遗憾的是,这产生的结果不如CoreTemp得到的结果:
您认为解决方案是增加字体大小,但超过8的任何内容都不适合图像.将位图从16x16增加到32x32也没有任何作用 - 它会调整大小.
然后就是我想要显示"8.55"而不是"55"的问题 - 图标周围有足够的空间但看起来无法使用.
有一个更好的方法吗?为什么Windows可以执行以下操作,但我不能?
更新:
感谢@NineBerry提供了一个很好的解决方案.要添加,我发现Tahoma是最好使用的字体.
我有一个包含以下文件的 React 组件:
该组件非常简单:
import React from 'react';
import './style.scss';
const HomePage = () => {
return (
<div className="homepage">
<h1>Landing page</h1>
</div>
);
};
export default HomePage;
Run Code Online (Sandbox Code Playgroud)
在其中,style.scss我将样式应用于所有<h1>标签:
h1 {
color: #f3f3f3;
font-family: "Cambria";
font-weight: normal;
font-size: 2rem;
}
Run Code Online (Sandbox Code Playgroud)
它按预期工作。但是,我现在看到其中的 h1 样式styles.scss已应用于我网站上的每个 h1,甚至在不使用此组件的页面上也是如此。
我正在使用 Gatsby,但它本质上是一个 React 应用程序。我的理解是,React 的代码分割功能会解决这个问题,代码style.scss只会包含在使用我的组件的任何页面的捆绑包中。
这就是我要问的原因。我有两个简单的修复方法:
style.scss里.homepagestyle.module.scss. 当我看到人们这样做时,他们总是“从 './style.module.scss'导入样式” - 有没有一种方法可以拥有 CSS 模块而不将其分配给这样的对象?更新:在花了很多时间使用 React …
我正在使用该react-table插件,但很难对定义了自定义链接的一列进行排序。
此列的内容基于该行中数据的一些属性,因此我为其创建了一个自定义单元格。显示正常,但排序执行得很奇怪。
我很确定问题出在columns定义中,但为了完整性,我将在此处发布所有代码:
export default function CloudfrontList() {
const [loading, setLoading] = useState(true);
const [columns, setColumns] = useState([]);
const [data, setData] = useState([]);
const getDataForTable = async () => {
const _columns = [{
// This is the cell that doesn't sort properly
Header: "Name",
Cell: cell => {
const row = cell.row.original;
const value = row.comment ? row.comment : row.origins[0].domain_name;
return (
<Link href="/view/cloudfront/[id]" as={`/view/cloudfront/${row.id}`}>
<a>{value}</a>
</Link>
);
},
accessor: row => {
return row.comment …Run Code Online (Sandbox Code Playgroud) 我当前有一个配置为运行 NodeJS 的项目v10.x.x,但我想将其升级为在版本上运行,12.16.1以便与我正在处理的其他项目保持一致,这样我就不必在一天中多次使用nvm 。
我的 package.json 包含:
{
"engines": {
"node": "10.x.x"
},
...
}
Run Code Online (Sandbox Code Playgroud)
如果我将其更改为并构建,则其中的包(我没有在我的中直接引用的包)12.x.x抛出错误。node_modulesgrpcpackage.json
问题:我想将我的包升级package.json到能够运行 Node 所需的最低版本v12.16.1,这有望减少升级导致的重大更改的数量。我想要尽可能少的改变。
有没有好的方法来解决这个问题?除了将一个包更新到最新版本之外,尝试构建,然后重复此过程直到它起作用。
我正在使用LdapAuthentication将用户登录到Active Directory.我想找到用户所属的所有组.我使用以下代码:
string adPath = "LDAP://OU=HR Controlled Users,OU=All Users,DC=myDomain,DC=local";
LdapAuthentication adAuth = new LdapAuthentication(adPath);
try
{
if (true == adAuth.IsAuthenticated("myDomain", txtLoginEmail.Text, txtLoginPassword.Text))
{
string email = txtLoginEmail.Text;
using (PrincipalContext context = new PrincipalContext(ContextType.Domain))
{
UserPrincipal user = UserPrincipal.FindByIdentity(context, IdentityType.Name, email);
foreach (var group in user.GetGroups())
{
Console.WriteLine(group.Name);
}
}
}
}
catch(Exception e) { /* Handle Error */ }
Run Code Online (Sandbox Code Playgroud)
我的问题是,当我调用UserPrincipal.FindByIdentity()时,我总是得到一个空值,即使用户身份验证按预期工作.
为什么会这样?代码或我的方法有问题吗?这是在ASP.NET 4.0 WebForms应用程序中运行.
更新:
显然我一直在使用错误的IdentityType(cn).我检查了调试,帐户名称是"UserA".
所以我尝试手动使用以下代码:
UserPrincipal user = UserPrincipal.FindByIdentity(context, IdentityType.Name, "UserA");
Run Code Online (Sandbox Code Playgroud)
但我仍然无效.
更新2(已解决):
这个问题有两个问题.在声明时我需要指定域控制器的名称PrincipalContext.
using (PrincipalContext context …Run Code Online (Sandbox Code Playgroud) 我在 Azure 中有一个定时函数应用程序,计划在每天 22:00 运行。然而,它似乎每天都在 21:59 和 22:00 运行。当我登录 Azure 门户检查日志时,它似乎也是随机运行的。
以下是我收到的重复条目的时间戳示例:
我在网上搜索过但没有找到有效的解决方案。
这是应用程序的签名,大约需要 20 秒才能完成:
[FunctionName("Function1")]
public static void Run([TimerTrigger("0 0 22 * * *", RunOnStartup = false)]TimerInfo myTimer, TraceWriter log)
{
// My code
}
Run Code Online (Sandbox Code Playgroud)
这是我的 local.settings.json:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=XXX;AccountKey=XXX",
"AzureWebJobsDashboard": "DefaultEndpointsProtocol=https;AccountName=XXX;AccountKey=XXX",
"type": "timerTrigger",
"schedule": "0 0 22 * * *",
"useMonitor": false,
"SQLConn": "Server=tcp:XXX.database.windows.net,1433;Initial Catalog=XXX;Persist Security Info=False;User ID=XXX;Password=XXX;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
},
"disabled": false
}
Run Code Online (Sandbox Code Playgroud)
谁能帮我吗?
此外,Azure 功能中的“监视器”部分也没有显示任何异常。
我在 VS2017 中有一个基本的 gulp 设置来缩小我的 Javascript。我决定添加 gulp-sass (我的 package.json 说我在 gulp-sass v4.0.1 上)但它抛出了这个错误:
C:\Work\MyProject\MyProject\node_modules\gulp-sass\index.js:66
let sassMap;
^^^
SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:373:25)
at Object.Module._extensions..js (module.js:404:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (C:\Work\MyProject\MyProject\gulpfile.js:11:12)
at Module._compile (module.js:397:26)
at Object.Module._extensions..js (module.js:404:10)
Run Code Online (Sandbox Code Playgroud)
我的 gulpfile 看起来像这样:
var gulp = require('gulp');
var concat = require('gulp-concat');
var rename = require('gulp-rename');
var watch = require('gulp-watch');
var …Run Code Online (Sandbox Code Playgroud) 我有一个包含 ID 号的对象列表。我想查询数据库中的一个表,以获取 ID与列表中任何对象的 ID不匹配的所有行。
List<Item> allItems = new List<Item>();
// Populate allItems
Run Code Online (Sandbox Code Playgroud)
An是一个带有 a和Item的简单对象。public int ItemIDpublic string Name
这是我尝试查询特定表的 LINQ,只提供不作为 in 存在的ItemID行allItems:
var filtered = ctx.PurchasedItems.Where(x => allItems.Select(y => y.ItemID).ToList().Contains(x.FK_ItemID)).ToList();
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,dbo.PurchasedItems有一列FK_ItemID与ItemID对象 Item 中的 相匹配。
虽然可以编译,但运行时出现以下错误:
“无法创建“DemoProject.Models.ItemDatabase.PurchasedItems”类型的常量值。在此上下文中仅支持原始类型或枚举类型。”
我尝试的另一种方法是:
var p = ctx.PurchasedItems.Where(x => x.FK_ItemID.IsAnyOf(allItems.Select(y => y.ItemID).ToArray())).ToList();
Run Code Online (Sandbox Code Playgroud)
...但这产生了类似的错误。
谁能帮我吗?
我在SQLServer中有一个表,其中包含以下三列:
RowID是唯一的,但RMA和Value不是.
我想编写一个查询,从表中选择共享任何特定RMA的所有行.所以我们假设我们有以下三行
ID RMA Value
1 - 222- Car
2 - 923 - Boat
3 - 222 - Plane
4 - 555 - Other
5 - 555 - Jet
Run Code Online (Sandbox Code Playgroud)
我想要一个将返回行1,3,4和5的查询.不会选择第2行,因为它的RMA只出现一次.
我甚至不知道从哪里开始.我需要使用这个COUNT()功能吗?
请先阅读问题,然后再将其标记为重复项。
我正在尝试将一行插入到 5 列的表中。我希望其中 3 列来自另一个表,我将使用选择查询来读取该表。
INSERT INTO tbl.Log (
LogDate,
Object,
Count,
Creator,
LastUpdate)
SELECT TOP 1
GETUTCDATE(),
Object,
Count, -- I need to +1 to this
'John Smith',
LastUpdate
FROM tbl.Objects
WHERE ObjectID = '123'
ORDER BY LastUpdate DESC
Run Code Online (Sandbox Code Playgroud)
我可以在这里看到我做错了什么:
GETUTCDATE()不应出现在 SELECT 中,因为它不是列名。它去哪里了呢?'John Smith'作为创造者也是如此我可以通过执行两个单独的查询并将数据解析到SELECT查询中来手动完成此操作INSERT,但我正在尝试改进我的 SQL。
我有一个与 Lambda 函数集成的 API 网关(HTTP 类型)。我试图从本地主机调用该函数,如下所示:
const jwt = getAuthToken();
const formBody = new FormData();
formBody.set('user', 'test');
const res = await fetch('https://example.execute-api.eu-west-1.amazonaws.com/default/GetShareValue', {
method: 'POST',
body: formBody,
headers: {
'Authorization': jwt
}
});
Run Code Online (Sandbox Code Playgroud)
但是,我收到此错误消息:
从源“http://localhost:3000”获取“https://example.execute-api.eu-west-1.amazonaws.com/default/GetShareValue”的访问已被 CORS 策略阻止:对预检的响应请求未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。如果不透明响应满足您的需求,请将请求模式设置为“no-cors”以在禁用 CORS 的情况下获取资源。
我了解不正确的 CORS 设置将阻止浏览器显示 Lambda 函数返回的内容。但是,我的 API 网关指定了 CORS 设置:
根据此线程,在 Lambda 函数的响应中设置标头非常重要。我已将它们设置为相同。这是我的 Lambda 函数:
exports.handler = async (event, context) => {
let body;
let statusCode = '200';
const headers = {
'Content-Type': 'application/json',
"Access-Control-Allow-Headers": "Content-Type,X-Amz-Date,X-Amz-Security-Token,Authorization,X-Api-Key,X-Requested-With,Accept,Access-Control-Allow-Methods,Access-Control-Allow-Origin,Access-Control-Allow-Headers",
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "*",
"X-Requested-With": …Run Code Online (Sandbox Code Playgroud) c# ×3
sql ×3
.net ×2
javascript ×2
node.js ×2
reactjs ×2
t-sql ×2
asp.net ×1
aws-lambda ×1
azure ×1
cors ×1
crontrigger ×1
css ×1
css-modules ×1
gulp ×1
gulp-sass ×1
ldap ×1
linq ×1
notifyicon ×1
npm ×1
nvm ×1
package.json ×1
react-table ×1
sass ×1
sorting ×1
sql-server ×1
system-tray ×1