Tag: visual studio 2010

无法转换对象类型’System.String ‘以键入’System.String ‘

大家好,我有一个C#.NET代码的问题,我使用DLL连接OPC服务器在VB.NET项目中使用的DLL并没有任何问题。 我试图在ListBox中显示可用服务器的列表,VB.NET中使用的代码(和工作)是这样的: Dim AllOPCServers As Object AllOPCServers = AnOPCServer.GetOPCServers ‘ Load the list returned into the List box for user selection Dim i As Short For i = LBound(AllOPCServers) To UBound(AllOPCServers) AvailableOPCServerList.Items.Add(AllOPCServers(i)) Next i 我写这个在C#应用程序中使用 try { var _listOPCServer = _OPCServer.GetOPCServers(); foreach(var i in _listOPCServer) { string serverName = (string)i; listServers.Items.Add(serverName); } } catch (Exception […]

使用GhostscriptProcessor创建PDF / A.

我想使用GhostscriptProcessor将PDF文件转换为PDF / A,但结果是PDF而不是PDF / A. GhostscriptProcessor gsproc = new GhostscriptProcessor(Properties.Resources.gsdll32); gsproc.StartProcessing(CreatePDFA(@”C:\test\PDF.pdf”, @”C:\test\PDFA.pdf”), new GsStdio()); 方法: CreateTestArgs(string inputPath, string outputPath) { List gsArgs = new List(); gsArgs.Add(“-dPDFA”); gsArgs.Add(“-dBATCH”); gsArgs.Add(“-dNOPAUSEgsArgs”); gsArgs.Add(“-sDEVICE=pdfwrite”); gsArgs.Add(@”-sOutputFile=” + outputPath); gsArgs.Add(@”-f” + inputPath); return gsArgs.ToArray(); } 如果我从命令行使用gswin32.exe,结果是PDF / A文件。

在C ++ / CLI中无法识别名称空间

我最近问过这个问题: 在c ++ / cli中创建命名空间? 所以我试图在c ++ / cli中创建自己的命名空间。 但是当我在两个单独的文件(.cpp)中使用相同的命名空间时,命名空间显然不会被识别为相同,因为当我尝试引用另一个文件中的另一个类时我遇到错误。 这基本上就是我所拥有的: Pets.cpp: namespace Animals { public ref class Pets { public: List ^vDogs; Pets::Pets() { vDogs = gcnew List(); } void Pets::DoSomething() { } }; } Dog.cpp: namespace Animals { public ref class Dog { Dog::Dog() { } void Dog::DoSomething() { } }; } 其他信息: […]

带锁的C#Visual Studio Debugger UI行为

我在锁中有一段代码: lock (obj) { //… } 我还有一个锁定同一个对象的属性。 足够简单的场景。 我的问题是,如果我在我锁定的代码块中放置一个断点,然后检查Visual Studio调试器中的属性,会发生什么? 调试器是否会死锁,直到我在断点后继续执行(或者杀死visual studio / debugging)? 或者调试器是否只显示该属性的任何数据(从UI中获取后台线程中的数据?) 我问的原因是我有一个专门(并且仅)用于调试目的的属性; 我很乐意在这种情况发生时偶尔没有显示数据,但是多次使用糟糕的调试器属性来破坏调试器(和visual studio),我宁愿避免在某些时候阻碍我的调试工作的代码。我正在努力帮助开始! 我计划在某些时候测试这个,当我有更多的时间,但希望能从更好的人那里获得更快的回答。

C#:RunWorkerAsync()不会触发DoWork()

我正在编写一个基于小型表单的应用程序来连接到LDAP服务器,我希望“连接”按钮在后台工作。 所以我在这里关注这些信息和讨论 但无论出于何种原因,我的代码似乎没有正常工作:我在’worker.RunWorkerAsync();’设置断点 它只是直接通过它。 我究竟做错了什么? 我在Visual Studio 2010中工作,以防万一。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.DirectoryServices; using System.Threading; namespace ldapconnect { public partial class Form1 : Form { private void Form1_Load(object sender, EventArgs e) { } public Form1() { InitializeComponent(); } //server public string lds; […]

当单步执行我的程序时,无缘无故地调用ToString()方法

这是一个奇怪的问题,即使我旁边的高级程序员也很困惑。 完全问题是我的ToString()方法被调用,我不知道或不知道这是我的代码 static void Main(string[] args) { Console.Out.WriteLine(“Blank Constructor”); Form form = new Form(); <– ToString() gets called on this line. form.ToString(); Console.Read(); } public Form() { FormName = ""; FormImageLocation = ""; FormDescription = ""; FormID = 0; CreatedDate = DateTime.Now; LastUpdate = DateTime.Now; Fields = new List(); Packets = new List(); <– This […]

非常基本的除法方程在c#中不起作用

我不能把它分成小数。 它的四舍五入值为0。 private void button24_Click(object sender, EventArgs e) { double x = 0; x = 1 / 2; ans.Text = x.ToString(); } 当我调试时,x在发送到文本框’ans’之前为零。 我试过……字符串变量仍为零.. double x = 1/5; string displayX = x.ToString(“0.0000”);

如何在C#中创建上下文菜单

我想使用C#创建一个上下文菜单,它将显示在节点旁边,类似于Visual Studio中的内容: 我现在的代码导致主窗体闪烁。 private void treeView1_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { var myForm = new Form {Text = “My Form”}; myForm.SetBounds(10, 10, 200, 200); myForm.Show(); // Determine if the form is modal. if (myForm.Modal == false) { // Change borderstyle and make it not a top level window. myForm.FormBorderStyle = FormBorderStyle.FixedToolWindow; […]

如何在值更改时validationnumericupdown(而不是丢失焦点)

我有一个NumericUpDown ,当值改变(而不是lostfocus)进行新的计算时我需要 如果我把我的代码放在事件ValueChanged这项工作时焦点丢失 如果我把我的代码放在KeyPress然后如果数字不是通过键盘输入(例如复制一个数字并粘贴它)它不起作用 那么我需要使用什么事件? 如果这是按键我需要连接数值更多按键将所有这些转换为字符串并将其转换为十进制,并执行计算,但如果按下的键不是数字(例如退格)它不起作用

如何在Panel上绘制以使其不闪烁?

这是我的代码。 当我将光标移动到Form上时,圆圈正在移动,但它正在闪烁。 我怎样才能解决这个问题? public partial class Preprocesor : Form { int x, y; Graphics g; public Preprocesor() { InitializeComponent(); } private void Preprocesor_Load(object sender, EventArgs e) { g = pnlMesh.CreateGraphics(); } private void pnlMesh_Paint(object sender, PaintEventArgs e) { g.Clear(Color.White); g.FillEllipse(Brushes.Black, x, y, 10, 10); } private void pnlMesh_MouseMove(object sender, MouseEventArgs e) { x = eX; […]