下面的控件在矩形中绘制一个字符串.在鼠标移动时,对字符串矩形进行了命中测试,并通过CreateGraphics重新绘制字符串.令人恼火的问题是文本的绘制方式与Paint处理程序中的相同; 它似乎被大约1个像素所取代,效果就像一个粗体字体.如何创建与Paint处理程序中的图形对象完全相同的图形对象,以便以相同的方式绘制文本?通常,您会在Paint事件中使所有内容无效并重绘,但我可能有数百个其他绘图项,并且只想绘制字符串.我是否应该尝试在Paint事件之外进行任何绘图,或者这是一个错误?
示例控件:
using System;
using System.Drawing;
using System.Windows.Forms;
namespace Test.TestModes
{
public partial class ExampleControl: UserControl
{
private const string testString = "0123456789";
private RectangleF stringRect = new RectangleF(10, 10, 100, 20);
public ExampleControl()
{
InitializeComponent();
}
private void ExampleControl_Paint(object sender, PaintEventArgs e)
{
Font font = new Font("Arial", 12, FontStyle.Regular);
e.Graphics.DrawString(testString, font, Brushes.Black, stringRect);
font.Dispose();
}
private void DrawString(bool hit)
{
Font font = new Font("Arial", 12, FontStyle.Regular);
using(Graphics g = CreateGraphics())
{
g.SetClip(ClientRectangle);
if(hit)
g.DrawString(testString, font, Brushes.Red, …
Run Code Online (Sandbox Code Playgroud) 有没有办法在Windows控制台中获取关键事件?我需要一种无需GUI即可快速获得keydown和keyup事件的方法.我已经尝试过使用getch(),但它没有得到键盘并等待按键返回.
我正在寻找最好的,或任何方式真正从后台启动PHP的过程,所以我可以在以后的脚本中杀死它.
现在,我正在使用:shell_exec($ Command); 这个问题是它等待程序关闭.
当我执行shell命令时,我想要一些与nohup具有相同效果的东西.这将允许我在后台运行该过程,以便稍后在脚本中可以关闭它.我需要关闭它,因为此脚本将定期运行,并且程序运行时无法打开.
我曾想过生成一个.bat文件来在后台运行命令,但即便如此,我如何在以后杀死该进程?
我见过的linux代码是:
$PID = shell_exec("nohup $Command > /dev/null & echo $!");
// Later on to kill it
exec("kill -KILL $PID");
Run Code Online (Sandbox Code Playgroud)
编辑:结果我不需要杀死进程
我有一个HTML表单,我动态添加一个文本字段,并通过jQuery对ASP.NET MVC控制器执行该表单的POST请求.
如果我在控制器操作上调用没有ValidateAntiForgeryToken属性的POST请求,它可以正常工作.但是,当我将ValidateAntiForgeryToken属性添加到操作时,我得到以下异常:
"未提供所需的防伪标记或无效."
有没有人想到为什么会这样?
需要注意的是,cookie中的令牌ID似乎与表单中呈现的令牌完全不同.为什么这些会有所不同?
那个行动:
[AcceptVerbs(HttpVerbs.Post)]
[ValidateAntiForgeryToken]
public string MyAction(Guid id, Dto dto)
{
//return JSON;
}
Run Code Online (Sandbox Code Playgroud)
表格(呈现):
<form id="slider" class="fc" method="post" action="/controller/myaction/" name="tabEdit">
<span id="slider_previous" class="sprite" tabindex="0" title="foo">Previous</span>
<input type="hidden" value="mzyg7UWQrHwafoSuoJBvwfraQEtCTAmM9QHYeyMSrAHFHG10BNXM+I2yNgz8zQ8yu/E43eF3yMuHX7YIQwmK3Q==" name="__RequestVerificationToken"/>
<div id="sliderWrap" style="width: 31.243%;">
<ul class="sliderList">
<li id="ID_3d031daf-a7f9-46f2-b4b9-7c9fc6560e3d">
</li>
<li id="ID_78b61634-d88a-4f33-8e48-e0655ad8a958" class="current">
<input class="sliderInput" type="text" value="" name="Bar"/>
<a class="sprite" href="/a/b/78b61634-d88a-4f33-8e48-e0655ad8a958">Delete</a>
</li>
</ul>
</div>
<span id="slider_addNew" class="sprite" tabindex="0" title="Add new">New</span>
<span id="slider_next" class="sprite" tabindex="0" title="See next">Next</span>
</form>
Run Code Online (Sandbox Code Playgroud)
渲染防伪标记的原始视图:
<form id="slider" class="fc" method="post" action="/controller/myaction/" name="tabEdit">
<%=Html.AntiForgeryToken(OurNamespace.MVC.Constants.SaltValue) %> …
Run Code Online (Sandbox Code Playgroud) 所以我知道大量的通用脚本语言,如Ruby,Python,Perl,甚至PHP等,实际上也声称可用于创建桌面应用程序.
我想我的问题可以清楚地回答
实际上是否只有公司使用特殊的脚本语言来创建他们的应用程序?
使用像Python这样的语言创建产品有什么真正的优势吗?
我不是在讨论用于网络开发的那些语言的可行性!
我应该坚持使用桌面应用程序的C(++)吗?
最好的问候,喇嘛
我只是想知道是否有可能在powershell中使用给定的Text创建一个小的,简单的jpg,png,gif:
例如:一个小方块,250px×61px,黄色背景和黑色文字:"测试"
我可以使用"System.Drawing.Image"执行此操作吗?
谢谢
当我将值从数据表复制到Excel工作表时,我丢失了前导零.这是因为可能Excel将值视为数字而不是文本.
我在C#中创建了工作表,我正在复制这样的值:
myWorksheet.Cells[i + 2, j] = dtCustomers.Rows[i][j - 1].ToString();
Run Code Online (Sandbox Code Playgroud)
如何将整列或每个单元格格式化为文本?一个相关的问题,如何myWorksheet.Cells[i + 2, j]
在Intellisense中强制显示样式属性?
基本上我需要有人来帮助我或者给我看一些代码,这些代码可以让我从一个名为c1.txt的文件中读取名称和价格.
这就是我已经拥有的.
TextReader c1 = new StreamReader("c1.txt");
if (cse == "c1")
{
string compc1;
compc1 = c1.ReadLine();
Console.WriteLine(compc1);
Console.WriteLine();
compcase = compc1;
compcasecost = 89.99;
}
Run Code Online (Sandbox Code Playgroud)
如何选择一行来从文本文档中读取将是很好的.
我有
class A
{
public int a;
public string b;
}
Run Code Online (Sandbox Code Playgroud)
如何将A复制到另一个A?在C++我知道我能做到*a1 = *a2;
.C#中有类似的东西吗?我知道我可以用反射写一个通用的解决方案,但我希望已经存在的东西.
我正在考虑将A更改为可以为空的结构.
第2步我需要做
class B : A {}
class C : A {}
Run Code Online (Sandbox Code Playgroud)
并将基础数据从B复制到C.
目前在我正在开发的Android应用程序中,我正在循环遍历图像的像素以使其模糊.这在640x480图像上大约需要30秒.
在Android Market中浏览应用程序时,我遇到了一个包含模糊功能的应用程序,并且它们的模糊非常快(例如5秒),因此它们必须使用不同的模糊方法.
除了循环像素之外,任何人都知道更快的方法吗?
c# ×4
.net ×2
windows ×2
android ×1
asp.net-mvc ×1
background ×1
c++ ×1
class ×1
console ×1
copy ×1
excel ×1
java ×1
jpeg ×1
kill ×1
nohup ×1
perl ×1
php ×1
powershell ×1
python ×1
renderscript ×1
ruby ×1
scripting ×1
streamreader ×1
textreader ×1
winforms ×1