使用Microsoft RichTextBox控件时,可以添加这样的新行......
richtextbox.AppendText(System.Environment.NewLine); // appends \r\n
Run Code Online (Sandbox Code Playgroud)
但是,如果您现在查看生成的rtf,\ r \n字符将转换为\ par not\line
如何在生成的RTF中插入\ line控制代码?
什么行不通:
令牌替换
黑客喜欢在字符串的末尾插入一个令牌,然后在事实之后替换它,所以像这样:
string text = "my text";
text = text.Replace("||" "|"); // replace any '|' chars with a double '||' so they aren't confused in the output.
text = text.Replace("\r\n", "_|0|_"); // replace \r\n with a placeholder of |0|
richtextbox.AppendText(text);
string rtf = richtextbox.Rtf;
rtf.Replace("_|0|_", "\\line"); // replace placeholder with \line
rtf.Replace("||", "|"); // set back any || chars to |
Run Code Online (Sandbox Code Playgroud)
这几乎可以工作,如果你必须支持从右到左的文本,它会分解,因为从右到左的控制序列总是在占位符的中间结束.
发送密钥消息
public void AppendNewLine() …Run Code Online (Sandbox Code Playgroud) 我试图截取一个应用程序的屏幕截图,我想使不属于应用程序区域的矩形部分透明.因此,例如在标准的Windows应用程序上,我想使圆角透明.
我写了一个快速测试应用程序,适用于XP(或关闭aero的vista/windows 7):
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics g = e.Graphics;
// Just find a window to test with
IntPtr hwnd = FindWindowByCaption(IntPtr.Zero, "Calculator");
WINDOWINFO info = new WINDOWINFO();
info.cbSize = (uint)Marshal.SizeOf(info);
GetWindowInfo(hwnd, ref info);
Rectangle r = Rectangle.FromLTRB(info.rcWindow.Left, info.rcWindow.Top, info.rcWindow.Right, info.rcWindow.Bottom);
IntPtr hrgn = CreateRectRgn(info.rcWindow.Left, info.rcWindow.Top, info.rcWindow.Right, info.rcWindow.Bottom);
GetWindowRgn(hwnd, hrgn);
// fill a rectangle which would be where I would probably
// write some mask color
g.FillRectangle(Brushes.Red, r);
// fill the region over the …Run Code Online (Sandbox Code Playgroud) $var = 1;
debug_zval_dump($var);
Run Code Online (Sandbox Code Playgroud)
输出:
long(1) refcount(2)
$var = 1;
$var_dup = &$var;
debug_zval_dump($var);exit;
Run Code Online (Sandbox Code Playgroud)
输出:
long(1) refcount(1)
Run Code Online (Sandbox Code Playgroud)
UPDATE
对答案非常失望......
我正在用C#编写一个使用第三方COM DLL的应用程序,这个DLL在非托管内存中创建了大量资源(如位图,视频,数据结构).在挖掘时,我遇到了垃圾收集器的以下调用:
GC.AddMemoryPressure(long long bytesAllocated)
Run Code Online (Sandbox Code Playgroud)
它在MSDN中记录在这里:
http://msdn.microsoft.com/en-us/library/system.gc.addmemorypressure.aspx
这听起来像我应该调用的东西,因为这个外部dll正在创建CLR不知道的大量资源.
我想我有两个问题......
正如我们大多数人所知,为了在.net中很好地管理内存,最好总是在实现IDisposable的对象上调用Dispose().但是,当每天编写大量代码时,很容易忘记这样做.
有没有人知道一个搜索ac#解决方案的工具,并找到一次性对象尚未处理的所有地方?我可以看到,当对象喜欢将位图分配给属性但是甚至更基本的检查器具有值时,这种情况不起作用.
谢谢你的时间.
我一直在尝试S3,他们有这个很酷的功能,你可以通过存储桶策略在存储桶的内容上设置ACL.因此,例如,您可以将一堆文件中的实际ACL设置为私有,但该文件可通过覆盖策略提供给某些用户/ IP地址/引用者.
在我的情况下,我在一个桶中有一堆私人内容,但我想让特定目录中的文件可用于我的网站(例如图像).所以我有这样的事情:
{
"Version": "2008-10-17",
"Id": "",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::content-racket-fm/uploaded/images/*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
现在我们有一些背景,我可以得到这个问题.我最近在这里发现:
https://forums.aws.amazon.com/thread.jspa?threadID=78294
这桶政策只适用于文件的工作拥有由斗所有者.因此,例如,如果文件通过某些外部服务(例如encoding.com或panda流)进入存储桶,他们在S3存储桶上拥有自己的用户,那么您将遇到问题,因为您的存储桶策略不会应用于这些文件(在我看来这似乎是亚马逊的疏忽,但我确信有一个很好的理由我没有想到)
我正在使用rails,有没有办法在桶中设置对象的所有者.
编辑
我想一个更好的问题可能是......
有没有办法设置亚马逊桶,所以它将桶策略应用于所有文件,无论所有者.
在C#中,可以创建对象的弱引用,如下所述:
在.net中,一些类还实现了IDisposable接口.调用此接口的Dispose方法以手动处理当前保留的任何托管或非托管资源.一个例子可能是Bitmap对象或类.
如果我将一个实现IDisposable的对象分配给弱引用,如果弱引用收集对象,是否会调用Dispose?
当使用不同的字体时,有些人可能会支持,说,阿拉伯字符,其中另一个可能不是.
在C#中有没有办法弄清楚特定字体支持哪些字符范围?
我正在尝试使用 prometheus 客户端库在 golang 中获取一些自定义应用程序指标,以显示在 Prometheus 中。
我有以下工作:
我有一个 go 应用程序,它在 localhost:8080/metrics 上公开指标,如本文所述:
https://godoc.org/github.com/prometheus/client_golang/prometheus
我有一个 kubernates minikube 正在运行,它使用本文中的操作符运行 Prometheus、Grafana 和 AlertManager:
https://github.com/coreos/prometheus-operator/tree/master/contrib/kube-prometheus
我为我的 go 应用程序创建了一个 docker 映像,当我运行它并转到 localhost:8080/metrics 时,我可以看到浏览器中显示的 prometheus 指标。
我使用以下 pod.yaml 将我的 docker 映像部署到 k8s 中的 pod
Run Code Online (Sandbox Code Playgroud)apiVersion: v1 kind: Pod metadata: name: my-app-pod labels: zone: prod version: v1 annotations: prometheus.io/scrape: 'true' prometheus.io/port: '8080' spec: containers: - name: my-container image: name/my-app:latest imagePullPolicy: IfNotPresent ports: - containerPort: 8080
kubectl exec -it my-app-pod -- /bin/bash
然后在“localhost:8080/metrics”上执行 wget,我可以看到我的指标
到目前为止一切顺利,这是我撞墙的地方。我可以让多个 …
go kubernetes prometheus kubernetes-go-client prometheus-operator
我正在使用YouTrack进行错误报告的项目.我希望能够建立一些在稳定期间派上用场的简单报告,报告跟踪趋势如下:
有没有人在YouTrack中做过这样的事情,如果有的话,我应该从哪里开始寻找?
谢谢你的时间.
以下面的例子(纯粹为了证明这一点而创建).我想要做的是将系统的一部分与另一部分隔离,并且只希望在内部对整个对象方法进行内部处理时从程序集外部公开特定的功能子集.
此代码编译,但我在运行时收到无效的强制转换异常.感觉这应该工作但不幸的是它没有.
任何人都可以提出一个优雅的解决方案吗?
更新:基于评论我已经改变了这个例子以更好地展示这个问题,我现在也在样本中展示了对我有用的解决方案......
using System.Collections.Generic;
namespace Test
{
public class PeopleManager
{
List<Person> people = new List<Person>();
public PeopleManager()
{
}
public void CreatePeople()
{
people.Add(new Person("Joe", "111 aaa st"));
people.Add(new Person("Bob", "111 bbb st"));
people.Add(new Person("Fred", "111 ccc st"));
people.Add(new Person("Mark", "111 ddd st"));
}
public IList<IName> GetNames()
{
/* ERROR
* Cannot convert type 'System.Collections.Generic.List<Test.Person>'
* to 'System.Collections.Generic.List<Test.IName>' c:\notes\ConsoleApplication1\Program.cs
*/
return (List<IName>) people; // <-- Error at this line
// Answered my own question, do the following …Run Code Online (Sandbox Code Playgroud) 我知道围绕这个还有其他问题,但大多数答案都没有做我要提出的建议.所以我知道你不应该这样做.这个问题的原因是我想要做到这一点,我怎么能这样做......
这就是我想打破规则的原因......
假设我有一个复杂的应用程序,它是版本1,我们希望我们的客户在崩溃或挂起时向我们提交错误.我们现在说我在他们点击提交报告的主表单顶部有一个按钮.
现在让我们想象应用程序因为死锁而挂起......
如果那个小按钮和该按钮的处理程序可以存在于主ui线程以外的线程上,那么它就不会陷入死锁状态.单击时,它将收集其他线程的所有调用堆栈,并将它们提交给我们的错误报告服务.
现在,知道这个场景,可以在.net中完成吗?
我正在研究在Asp.Net MVC 2中编写一个网站,它将在很大程度上依赖于数据网格控件来显示数据和编辑数据.理想情况下,它将支持AJAX,因此页面不必在每次更新时重新加载.
而不是从头开始编写这个,有没有人知道一个非常好的,受到良好支持的第三方控件呢?
我刚刚开始了解Asp.Net MVC,感谢您的帮助
c# ×9
.net ×1
ajax ×1
amazon-s3 ×1
asp.net-mvc ×1
dispose ×1
fonts ×1
gdi ×1
gdi+ ×1
generics ×1
go ×1
html ×1
kubernetes ×1
permissions ×1
php ×1
prometheus ×1
refcounting ×1
reporting ×1
richtextbox ×1
right-aws ×1
windows-7 ×1
winforms ×1
youtrack ×1