在更新WinForms中的控件期间闪烁(例如DataGridView)

在我的应用程序中,我有一个DataGridView控件,显示所选对象的数据。 当我选择一个不同的对象(在上面的combobox中)时,我需要更新网格。 不幸的是,不同的对象具有完全不同的数据,甚至是不同的列,因此我需要清除所有现有数据和列,创建新列并添加所有行。 完成后,整个控件可怕地闪烁,需要很长时间。 是否有一种通用的方法来使控件处于更新状态,因此它不会重新绘制自身,然后在完成所有更新后重新绘制它? TreeViews当然可以: myTreeView.BeginUpdate(); try { //do the updates } finally { myTreeView.EndUpdate(); } 有没有通用的方法与其他控件,特别是DataGridView这样做? 更新:对不起,我不确定我是否足够清楚。 我看到“闪烁”,因为在单次编辑后,控件在屏幕上重新绘制,因此您可以看到滚动条缩小等。

数学计算检索两点之间的角度?

可能重复: 如何计算两点相对于水平轴的角度? 我一直在寻找这个年龄,这真的很烦我,所以我决定只问… 如果我有两个点(即x1,y1和x2,y2),我想计算这两个点之间的角度,假设当y1 == y2且x1> x2时角度为180度…… 我有以下代码,我一直在使用(使用高中的知识),我似乎无法产生预期的结果。 float xDiff = x1 – x2; float yDiff = y1 – y2; return (float)Math.Atan2(yDiff, xDiff) * (float)(180 / Math.PI); 在此先感谢,我变得非常沮丧……

如何允许C#方法的generics类型参数接受null参数?

private static Matcher EqualTo(T item) { return new IsEqual(item); } 如何修改上述方法定义,以使以下内容有效/允许。 EqualTo(“abc”); EqualTo(4); EqualTo(null); // doesn’t compile. EqualTo(null) does 尝试移植一些Java代码,其中null似乎是T参数的可接受值。 更新 谢谢:所有答案 – 尤其是Eamon和Jason。 我不希望方法调用打扰类型推断。 以下过载修复了它。 private static Matcher EqualTo(object item) { return EqualTo(item); } 实际上,上述问题是一个更大难题的一部分。 最终目标是让以下工作。 this.AssertThat(null, EqualTo(null)); this.AssertThat(null, Not(EqualTo(“hi”))); this.AssertThat(“hi”, Not(EqualTo(null))); 应用相同的修复.. RFC 。 (忽略丑陋的扩展方法部分 – 这是另一个问题。想要在没有inheritance的情况下在所有测试装置中使用这些方法。) public static void AssertThat(this object testFixture, […]

何时不使用’this’关键字?

很抱歉再次询问,已经有一些关于此关键字的问题。 但他们所有人都说出了“这个”的目的。 你什么时候使用这个关键字 C#何时使用此关键字 在C#中的静态方法的forms参数中使用“this”关键字 在C#中正确使用“this。”关键字? 我的问题是何时不使用’this’关键字 。 要么 总是在代码这样的情况下使用此关键字是否可以 class RssReader { private XmlTextReader _rssReader; private XmlDocument _rssDoc; private XmlNodeList _xn; protected XmlNodeList Item { get { return _xn; } } public int Count { get { return _count; } } public bool FetchFeed(String url) { this._rssReader = new XmlTextReader(url); this._rssDoc = new XmlDocument(); […]

让asp.net在会话中存储视图状态而不是增加html

我试图让asp.net在会话中存储viewstate,而不是填充html。 现在我已经读过asp.net附带了SessionPageStatePersister,可以使用它来代替默认的HiddenFieldPageStatePersister来执行此操作。 我想知道我是怎么放弃它的? 这就是我到目前为止:我想我需要创建一个PageAdapter,它从GetStatePersister方法返回一个SessionPageStatePersister,并以某种方式让页面使用这个pageadapter。 但Page.PageAdapter只有一个getter,所以我不确定你是如何设置它的。 请参阅此处的“备注”标题: http : //msdn.microsoft.com/en-us/library/system.web.ui.hiddenfieldpagestatepersister.aspx 谢谢!

使用表达式动态评估属性字符串

如何构建一个能够实现以下目标的表达式: public object Eval(object rootObj, string propertyString) 例如: Eval(person, “Address.ZipCode”) => return person.Address.ZipCode Expression.PropertyOrField不起作用,因为我没有每个中间属性的类型。 我想避免在脚本库上创建依赖项。 我想尝试使用表达式,因为它允许我存储这些表达式树的缓存,因为它们将被执行多次。 我知道可以通过reflection迭代或递归地执行此操作。

如何让DataGridViewcombobox一键显示下拉列表?

在我将“EditOnEnter”设置为true后,如果我没有单击combobox的向下箭头部分, DataGridViewComboBoxCell仍然会打开两次。 任何人都有任何线索如何解决这个问题? 我有自己的DataGridView类,所以我可以通过一些智能事件处理程序在系统范围内轻松解决这个问题。 谢谢。

如何从字符串中删除逗号分隔值?

我想从字符串中删除逗号分隔值.. 假设我有一个像这样的字符串 string x=”r, v, l, m” 我想从上面的字符串中删除r,并像这样重写字符串 string x=”v, l, m” 从上面的字符串我想删除我的逻辑抛出和改造字符串的任何值。 它应该删除它旁边的值和逗号并改写字符串…… 下面是我的代码特有的..我想删除我从逻辑中得到的任何值,我想删除它和它旁边的逗号并重新编译已删除项目上没有空格的字符串..我怎样才能实现这个? offIdColl = my_Order.CustomOfferAppliedonOrder.TrimEnd(‘,’); if (offIdColl.Split(‘,’).Contains(OfferID.ToString())) { // here i want to perform that operation. } Tombala,我这样应用它但它不起作用..返回true if (!string.IsNullOrEmpty(my_Order.CustomOfferAppliedonOrder)) { offIdColl = my_Order.CustomOfferAppliedonOrder.TrimEnd(‘,’); if (offIdColl.Split(‘,’).Contains(OfferID.ToString())) { string x = string.Join(“,”, offIdColl.Split(new char[] { ‘,’ }, StringSplitOptions.RemoveEmptyEntries).ToList().Remove(OfferID.ToString())); } } }

使用Linq将DataTable分解为固定大小的块的简洁方法是什么?

更新:这是一个类似的问题 假设我有一个DataTable ,里面有几千个DataRows 。 我想将表拆分成较小行的块进行处理。 我认为C#3改进的数据处理能力可能有所帮助。 这是我到目前为止的骨架: DataTable Table = GetTonsOfData(); // Chunks should be any IEnumerable type var Chunks = ChunkifyTableIntoSmallerChunksSomehow; // ** help here! ** foreach(var Chunk in Chunks) { // Chunk should be any IEnumerable type ProcessChunk(Chunk); } 关于什么应该取代ChunkifyTableIntoSmallerChunksSomehow任何建议? 我真的很感兴趣的是如何通过访问C#3工具来实现这一目标。 如果试图应用这些工具是不合适的,请解释! 更新3(修改后的块,因为我真的想要表,而不是ienumerables;使用扩展方法 – 感谢雅各布): 最终实施: 处理分块的扩展方法: public static class HarenExtensions { public […]

命名空间在.net中可以拥有的类数是否有限制?

命名空间在.net中可以拥有的类数是否有限制? 还有什么是命名空间中应该有的类的推荐数量?