小编rev*_*ice的帖子

ProcessStartInfo的StandardInputEncoding?


当我通过键入CMD手动向Windows添加服务时,如下所示:

"C:\ Program Files(x86)\ Windows Resource Kits\Tools\instsrv.exe""some-pl-char-ąźńćńół""C:\ Program Files(x86)\ Windows Resource Kits\Tools\srvany.exe"

...服务名称一切都很好,但是当我尝试在c#中执行此操作时:

ProcessStartInfo startInfo = new ProcessStartInfo();
Process myprocess = new Process();

startInfo.FileName = "cmd"; 
startInfo.RedirectStandardInput = true;
startInfo.RedirectStandardOutput = true;
startInfo.UseShellExecute = false;

myprocess.StartInfo = startInfo; 
myprocess.Start();

StreamWriter sw = myprocess.StandardInput;
StreamReader sr = myprocess.StandardOutput;

Thread.Sleep(200);

string command = ...
       ^ "C:\Program Files (x86)\Windows Resource Kits\Tools\instsrv.exe" "some-pl-char-?????ó?" "C:\Program Files (x86)\Windows Resource Kits\Tools\srvany.exe"

sw.WriteLine(command);
sw.WriteLine("exit");

Thread.Sleep(200);

sw.Close();
sr.Close();
Run Code Online (Sandbox Code Playgroud)

然后创建的服务的名称是:some-pl-char-|轊˝-

为什么代码页有问题?ProcessStartInfo
有类似StandardInputEncoding的东西吗?
我在CMD中的活动代码页(使用chcp)是852.(波兰语)

c# windows-services

9
推荐指数
1
解决办法
3042
查看次数

在ComboBox中隐藏DropDownList

如何在ComboBox中隐藏DropDownList?

我想只使用ComboBox来显示文本.
这个控件看起来不错,对我来说比TextBox加Button更好.
因此必须启用控制,但不包含任何项目.
当用户单击箭头(或alt +向下键)时,DropDownList应该不显示,因为从自定义DataGridView中选择错误以便在ComboBox中填充文本.

编辑.替代解决方案是将DropDownHeight设置为1,在单击控件后仅显示1个像素行.

编辑.真正的解决方 答案如下

.net c# combobox winforms drop-down-menu

3
推荐指数
1
解决办法
7564
查看次数

在ErrorProvider中填充顶部和底部


在ErrorProvider控件中我们可以使用SetIconPadding(); 为了设置在图标和控件之间添加的像素数.

通过这种方式,我们可以水平移动图标.
如何在垂直方向上做同样的事情?

我不知道如何扩展或覆盖图标定位.

PS.在某些情况下SetIconAlignment()是不够的.我只需要设置图标的自定义本地化.

.net c# padding errorprovider winforms

1
推荐指数
1
解决办法
1649
查看次数