Tag: c ++

将带有join的SQL查询转换为lambda表达式

不知道如何将以下sql转换为lambda表达式。 我的数据库使用参照完整性和与Content_Training表相关的表内容,具有1对多的关系(1个内容可以包含许多content_trainings) select c.ContentId, c.Name, ct.TrainingTypeId from dbo.Content c left join dbo.Content_Training ct on c.ContentId = ct.ContentId where c.PublishDate is not null order by ct.TrainingTypeId, c.Name

不活动和活动,应用程序空闲,用户不活动自动注销

经过大量的谷歌搜索和花费4个小时后,我猜这是找到用户不活动和锁定屏幕的最佳方式。 public MainWindow() { InitializeComponent(); var timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(10) }; timer.Tick += delegate { timer.Stop(); MessageBox.Show(“Logoff trigger”); timer.Start(); }; timer.Start(); InputManager.Current.PostProcessInput += delegate(object s, ProcessInputEventArgs r) { if (r.StagingItem.Input is MouseButtonEventArgs || r.StagingItem.Input is KeyEventArgs) timer.Interval = TimeSpan.FromSeconds(10); }; }

滚动时修复gridview标题

我已经修复了GridView标题,而我向下滚动标题将是常量但问题是标题格式不正确。 像所有列标题都缩小并且不会在特定列下显示。 我尝试了很多东西,但没有任何用处。 显然,标题宽度不等于列。 我已经使用JavaScript代码进行滚动,还使用CssClass进行修复。 请为我找到解决方案 JavaScript代码 var GridId = “”; var ScrollHeight = 300; var ScrollWidth = 300; window.onload = function () { var grid = document.getElementById(GridId); var gridWidth = grid.offsetWidth; var gridHeight = grid.offsetHeight; var headerCellWidths = new Array(); for (var i = 0; i < grid.getElementsByTagName("TH").length; i++) { headerCellWidths[i] = grid.getElementsByTagName("TH")[i].offsetWidth; } […]

Newtonsoft.Json,Populate Dictionary失败

我通过Newtonsoft.json将字典序列化为json,并且代码如下: var serializeSettings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.All, TypeNameAssemblyFormat = FormatterAssemblyStyle.Full, Formatting = Formatting.Indented }; var serializedObject = JsonConvert.SerializeObject(dic, serializeSettings); 这段代码生成一个像这样的json: { “$type”: “System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”, “9648af76-7986-4b34-8b2c-97b2345769ef”: “Test” } 我尝试通过以下代码将json反序列化为字典: var newDic = new Dictionay(); var deserializeSettings = new JsonSerializerSettings { TypeNameHandling = […]

WebBrowser InvokeScript

我有一个Webrowser,其中包含一些使用javascript更改的设置。 我正在尝试使用此处的示例,但无法获得正确的语法 脚本看起来像这样 Decimal 到目前为止,我已经尝试过这些并没有成功 this.webBrowser1.InvokeScript(“setdisplayType”); this.webBrowser1.InvokeScript(“setdisplayType(‘decimal’)”); this.webBrowser1.InvokeScript(“setdisplayType”,”decimal”);

如何使用P / Invoke在C#中返回一个列表?

我正在开发一个小项目,我使用P / Invoke并希望在C#中返回以下内容: public: class std::list<int,class std::allocator > const * __thiscall TransactionsModule_t::GetTransactionList(void)const 而现在这是我困惑的地方: [DllImport(“TransactionManager.dll”, EntryPoint = “…”, CallingConvention = CallingConvention.ThisCall)] public static extern ??? GetTransactionList( IntPtr interfacePtr); 我甚至不知道从哪里开始看,因为我无法直接看到返回类型是什么,显然它是一种列表。 我明白了,但这是一个嵌套列表吗? 字典Dictionary<int,List> ?

ViewModel的构造函数在导航时再次被调用,因此信使订阅再次被订阅

我正在使用MvvmCross框架构建跨平台的移动应用程序。 由于我想在ViewModels之间共享信息,我使用内置的MvxMessenger在ViewModel的构造函数中注册通知。 让我们假设一条名为ShowAdsMsg的消息,然后ViewModel如下所示: public class AdsViewModel : BaseLookersViewModel, IAdsViewModel { private MvxSubscriptionToken _showAdsMsgToken; public AdsViewModel() { _showAdsMsgToken = MvxMessenger.Subscribe(message => onShowAdsNavigation(), MvxReference.Weak); MyMessenger.PublishLastMessage(); } private void onShowAdsNavigation() { //Do Stuff } } 关于MyMessenger事情: ViewModel的实际导航是从MainViewModel执行的。 由于在导航本身的那一刻, AdsViewModel还不存在,从MainViewModel发布的消息无法到达它。 所以,我的想法是天真地“记住”消息并在新的ViewModel准备就绪时发布它。 所以现在来自MainViewModel的导航调用看起来像这样: private void navigate() { MyMessenger.RememberMessage(new ShowAdsMsg(this)); ShowViewModel( ); } 我现在能够导航到ViewModel,并且成功捕获了所有通知。 然而… 当我按下设备上的BACK按钮并重新导航到同一个ViewModel时, 正在再次调用构造函数,因此重新发生消息订阅。 因此,当消息到达时, onShowAdsNavigation()处理程序被触发两次! 我找到了这篇类似的post,讨论了如何正确处理ViewModel的问题, 但它不包含我的问题的直接解决方案。 […]

为C#制作C ++ DLL

我做了一个非常简单的Dll: extern “C” { __declspec(dllexport) int Try(int v) { return 10 + v; } } 然后我想在我的C#app中使用它: class Program { [DllImport(“TestLib.dll”)] public static extern int Try(int v); static void Main(string[] args) { Console.WriteLine(“Wynik: ” + Try(20)); Console.ReadLine(); } } 它一直工作,直到我试图pas参数。 现在我在运行时遇到以下错误: 调用PInvoke函数’ConsoleApplication2!ConsoleApplication1.Program :: Try’使堆栈失去平衡。 这很可能是因为托管的PInvoke签名与非托管目标签名不匹配。 检查PInvoke签名的调用约定和参数是否与目标非托管签名匹配。 我不知道问题出在哪里。

你能在C#中写一块c ++代码吗?

我听说你可以直接在C#代码中下载到C ++。 这是怎么做到的? 或者我听错了? 注意:我不是指C ++ / CLI。

无法将数据表绑定到Chart Control

我想在我的测试应用程序中使用极坐标图表。 我有一个包含几列的数据表,其中名称为“X”的列应提供x值成员,其他列应为y值成员。 我在MSDN上找到了一个教程,但它并没有真正起作用,因为该行 chart1.DataBindTable(dt, “X”); 不会编译。 欢迎任何提示,谢谢。 这是代码: 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.Windows.Forms.DataVisualization.Charting; namespace PolarChartTest_01 { public partial class Form1 : Form { public DataTable dt; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { dt.Rows.Clear(); dt.Columns.Clear(); chart1.Series.Clear(); dt.Columns.Add(“X”, […]