Tag: c ++

数据网格视图和tabcontrol C#的奇怪问题

我有一个奇怪的问题。 我有一个带有两个TabPages的TabControl 。 每个页面都有一个datagridview 。 两个datagridviews都填充了XML文件。 我想将AutoSizeColumnsMode设置为“ Fill ”两个DataGridViews 。 我想在我的代码中设置列的宽度。 对于TabPage1 ,一切正常,但TabPage2上的DataGridView设置宽度会抛出NullReferenceException 。 我真的没有得到它,因为我做了与datagridview1相同的事情,并且工作正常,但datagridview2抛出exception。 此外,如果我选择任何AutoSizeColumnsMode值但是Fill ,则没有例外。 这是代码: XmlReader xmlFile = XmlReader.Create(“File1.xml”, new XmlReaderSettings()); DataSet ds = new DataSet(); ds.ReadXml(xmlFile); dataGridView1.DataSource = ds.Tables[0]; dataGridView1.Sort(dataGridView1.Columns[1], ListSortDirection.Ascending); dataGridView1.Columns[0].Width = 35; dataGridView1.Columns[1].Width = 248; dataGridView1.Columns[2].Width = 110; dataGridView1.Columns[3].Width = 140; dataGridView1.Columns[9].Width = 127; dataGridView1.Columns[0].Visible = false; dataGridView1.Columns[1].Visible = […]

如何通过COM互操作将字符串集合从C#返回到C ++

我为C#中的一些Display方法创建了一个com组件,它返回一个String List 如下所示。 在v ++中,我使用std :: lst来捕获Disp()的返回值但是它 给出编译器错误,Disp不是类的成员。 我将返回类型设为void 它工作正常。 什么我可以修改,以便Disp返回一个List和main(c ++)我必须使用 这个回报值。 Public interface ITest { List Disp(); } class TestLib:ITest { List Disp() { List li=new List(); li.Add(“stack”); li.Add(“over”); li.Add(“Flow”); return li; } } 编译并成功创建了Test.dll,还测试了test.tlb。 现在在用c ++编写的main函数中 #include #import “..\test.tlb” using namespace Test; void main() { HRESULT hr=CoInitialize(null); ITestPtr Ip(__uuidof(TestLib)); std::list li=new std::list(); […]

C#是否使用 – >指针表示法?

我正在尝试学习C#,我熟悉C ++ struct指向符号 – >我很好奇是否可以转换到C#。 例: someStruct->someAttribute += 1;

从C#调用C ++函数,具有许多复杂的输入和输出参数

我是C#的新手,但他在C ++方面做了很多工作。 我有一个需要从C#调用的C ++函数。 在阅读了SO和一些谷歌搜索的一些答案之后,我得出结论,我需要为该函数创建一个纯C接口。 我已经这样做了,但我仍然对如何从C#调用它感到困惑。 C ++中的函数如下所示: int processImages( std::string& inputFilePath, // An input file const std::vector& inputListOfDirs, // Input list of dirs std::vector& vecInternalStruct, // Input/Output struct std::vector<std::vector >& OutputIntsForEachFile, std::vector< std::vector >& vecVecSmallStruct, // Output int verboseLevel ); 用C语言转换的相同函数如下所示: int processImagesC( char* p_inputFilePath, // An input file char** p_inputListOfDirs, // Input list […]

Windows Phone 8的计时器

我希望以1分钟左右的间隔执行一个函数。 如何在Windows Phone 8中实现此目的。 我不是在找背景代理人 。 该应用程序将在前台运行。 我有什么选择?

C#,IntPtr的默认参数值

我想在一个以IntPtr作为参数的函数中使用IntPtr.Zero的默认参数值。 这是不可能的,因为IntPtr.Zero不是编译时常量。 有什么方法可以做我想要的吗?

如何从c#获取网站标题

我正在重新审视我的旧代码并且偶然发现了一种基于其url获取网站标题的方法。 这并不是你所谓的稳定方法,因为它经常无法产生结果,有时甚至会产生不正确的结果。 此外,有时它无法显示标题中的某些字符,因为它们是替代编码。 有没有人有这个旧版本的改进建议? public static string SuggestTitle(string url, int timeout) { WebResponse response = null; string line = string.Empty; try { WebRequest request = WebRequest.Create(url); request.Timeout = timeout; response = request.GetResponse(); Stream streamReceive = response.GetResponseStream(); Encoding encoding = System.Text.Encoding.GetEncoding(“utf-8”); StreamReader streamRead = new System.IO.StreamReader(streamReceive, encoding); while(streamRead.EndOfStream != true) { line = streamRead.ReadLine(); if (line.Contains(“”)) […]

从C#调用FORTRAN dll并将值分配给结构数组

我可以将一个C#结构传递给FORTRAN就好了。 我甚至可以在FORTRAN传递一个C#结构数组作为TYPE()数组。 我遇到麻烦的地方是当我试图将值返回到C# 。 这是一个例子: fortran dll是: MODULE TESTING TYPE VALUEREF INTEGER*4 :: A ENDTYPE VALUEREF CONTAINS SUBROUTINE TEST_REF(T,N) !DEC$ ATTRIBUTES DLLEXPORT :: TEST_REF !DEC$ ATTRIBUTES ALIAS:’TEST_REF’ :: TEST_REF !DEC$ ATTRIBUTES VALUE :: N IMPLICIT NONE INTEGER*4 :: A,I,N TYPE(VALUEREF) :: T(N) A = 100 DO I=1,N T(I)%A = A + I END DO END […]

C#获取非托管C dll导出列表

我有一个带有导出函数的C dll 我可以使用命令行工具dumpbin.exe / EXPORTS来提取导出函数的列表,然后在我的C#代码中使用它们(成功)调用这些函数。 有没有办法直接从.NET获取这个导出函数列表,而无需使用外部命令行工具? 谢谢

如何在Windows通用应用程序中读取文本文件

我正在尝试阅读一个名为thedata.txt的文本文件,其中包含我想在刽子手游戏中使用的单词列表。 我尝试了不同的方法,但我无法确定文件的放置位置,如果应用程序运行的话。 我将文件添加到我的项目中,我尝试将构建属性设置为内容,然后嵌入资源,但找不到该文件。 我制作了一个Windows 10通用应用程序项目。 我试过的代码看起来像这样: Stream stream = this.GetType().GetTypeInfo().Assembly.GetManifestResourceStream(“thedata.txt”); using (StreamReader inputStream = new StreamReader(stream)) { while (inputStream.Peek() >= 0) { Debug.WriteLine(“the line is “, inputStream.ReadLine()); } } 我得到例外。 我还尝试列出另一个目录中的文件: string path = Windows.Storage.ApplicationData.Current.LocalFolder.Path; Debug.WriteLine(“The path is ” + path); IReadOnlyCollection files = await Windows.Storage.ApplicationData.Current.LocalFolder.GetFilesAsync(); foreach (StorageFile file2 in files) { Debug.WriteLine(“Name 2 is […]