Tag: 用户界面

Gui在使用线程时冻结

我被困住了,希望有人可以帮助我。 我已经制作了一个类/ gui,其加载条设置为选取框,这样当执行任务时我可以将其显示给用户。 在我的一个gui类中,在第一行的构造函数中,我正在创建此类的新实例然后执行 LoadingBar bar = new LoadingBar(); Thread thread = new Thread(bar.Show); thread.Start(); 然而,即使主程序线程正在做一些更密集的东西,这个gui似乎仍然冻结,即使我使用backround worker。 我提到的方法有什么问题,如果有的话,我需要改变什么? 谢谢

C#中派生类的可视化

我有一个基类(表示一个充满小球体的真实世界容器)和一些派生类。 这很好用。 我的问题是如何进行可视化。 我有一个UserControl可视化基类。 对每个派生类都有一个派生UserControl的最佳解决方案吗? 或者只让一个人为所有人工作更好? 编辑: 显然我不够具体。 总有相同的基本外观:内部有很多圆圈的矩形。 类之间的区别在于容器的填充方式。 一种类型将种子放在中间并在树状结构中创建其他球体 – 在这种情况下,应绘制父母与子女之间的连接线。 一般来说,对于每种衍生类型,应该有类别的可视化与一些专业的一致外观。

显示C#winforms编辑控件的提示

我正在开发一个C#winforms应用程序(VS.NET 2008,.NET 3.5 sp 1)。 我在表单上有一个搜索字段,而不是在搜索字段旁边有一个标签我想在搜索字段本身的背景中显示一些灰色文本(例如,“搜索字词”)。 当用户开始在搜索字段中输入文本时,文本应该消失。 我怎样才能做到这一点?

可以举个例子,说明什么时候应该使用UIElement.UpdateLayout()?

我正在阅读MSDN中的这个UpdateLayout()方法 。 它说: 确保为布局正确更新此元素的所有可视子元素。 但我不明白布局没有正确更新是什么意思。 我已经使用Silverlight / WPF超过一年了,但我还没有使用过这种方法一次。 那么有人可以给我一个需要使用这种方法的例子吗? 所以我真的能理解它的作用以及何时使用它?

在后台线程中创建元素然后添加到主界面

我在WPF中遇到线程问题。 我想创建一个复杂的用户界面,然后我想将它添加到我的主窗口。 虽然这个复杂的用户界面正在创建,但我希望在主窗口中显示进度条。 我认为这只能通过线程来实现。 但有一个问题。 创建的元素无法添加到主窗口,因为它是在单独的线程中创建的。 有人知道是否有可能将在后台线程中创建的UIElements转移到主线程。 如果我以一种简单的方式尝试,它表示无法访问该对象,因为它位于一个单独的线程中。 我已经使我的进度条线程安全了。 我希望以下示例更好地解释我想要的内容。 StackPanel tcForm = new StackPanel(); Semaphore loadedSema = new Semaphore(0,1); Thread thread = new Thread(new ThreadStart(delegate(){ //Formular should be created in background tcForm.Children.Add(new Formular()); ProgressBar.AddProgress(); //…other things loadedSema.Release(); })); thread.start(); loadedSema.WaitOne(); new Formular()运行了很长时间,所以我想在后台创建。 将Formular添加到变量然后添加主线程也是不可能的。 //this is also impossible //in background-thread form = new Formular //in […]

寻找一些UI线程和工作线程教程

我的工作环境是VSTS 2008 + C#+ .Net 3.5。 我想了解UI线程和工作线程之间的差异,以及任何其他类型的线程(即非UI线程与工作线程相同)? 我还想了解我们可以对每种类型的线程和最佳实践做些什么的限制,以避免任何问题。 欣赏任何好的教程! 🙂

SplitContainer中的固定面板高度

我有一个WinForm,顶部有一个bindingNavigator,下面有两个水平面板的splitContainer。 splitContainer填充未被bindingNavigator占用的空间。 我想将底部面板设置为固定高度,例如100像素,并让顶部面板填充剩余的空间。 这是我目前的代码: kundeteamSplitContainer.SplitterDistance = kundeteamSplitContainer.Height – 100; 我原以为这会将分离器距离动态设置为始终小于总高度100个像素,使得底部面板占据剩余的100个像素。 虽然在运行时重新调整表单大小时底部面板不断改变大小,但这不能按预期工作。 编辑:如果可能的话,我会坚持使用splitContainer。 获得了一些与隐藏/显示已经实现的底部面板相关的function,我不想再次执行该工作。

如何在WPF中的元素上添加半透明阴影?

我想在WPF窗口的内容上添加半透明颜色(以指示窗口的状态)。 目前我正在使用填充窗口的UserControl,并根据需要更改背景颜色和可见性。 此方法的问题是当UserControl可见时,我无法单击UserControl后面的Window中的任何控件(按钮,CheckBoxes)。 我想我需要以某种方式使UserControl透明。 这是可能的,还是有更好的方法在窗口上添加颜色?

使用左列标题创建动态表的最佳方法

我正在创建具有超过20行和列数的动态表,可以根据用户输入进行更改。 第一列是标题,其他列需要使用从Web服务返回的数据进行绑定。 而且几行可以编辑。 当用户点击提交按钮时,需要validation更改的单元格并处理数据。 我创建了ASP.net表并逐个添加了行和单元格。 但这不是可重复使用的方式,是否有任何替代方法可以使用左列作为标题创建可编辑的动态表?

在.net应用程序中嵌入流程图设计图面

我需要将流程图设计表面合并到我们正在开发的应用程序中,以允许用户创建基本上是工作流程/计划的内容。 我需要能够创建自己的’形状’,在它们上设置自定义属性,并且可能还有一些逻辑(如果,等等)。 我知道我需要看看在应用程序中托管WF,它看起来很合适,但有没有人知道我可以使用的其他设计师组件。