小编Ref*_*din的帖子

需要更换第三方WinForm控件,什么是壁橱WPF等效?

我厌倦了Windows Forms ......我就是这样.我不是想开始辩论,我对此感到厌倦.不幸的是,我们已经依赖于DevExpress XtraEditors中的4个控件. I他们只有困难,我想继续前进.

我现在需要的是替换壁橱将替代我正在使用的4个控制器.他们来了:

LookUpEdit- 这是在combobox您键入时过滤下拉列表的.

MemoExEdit- 这是一个textbox是"弹出"一个更大的区域,当它具有焦点

CheckedComboBoxEdit- 这是一个下拉列表checkboxes.

CheckedListBoxControl- 这是一个很好的过柱listboxcheckboxes

这是一个有大量数据输入的LOB应用程序.实际上,前两个很好,但不是必需的.第二个是必不可少的,因为我要么需要复制功能,要么改变用户与特定数据交互的方式.

我正在寻找帮助,在WPF具有现有控件(codeplex等)的环境中或直接复制这些XAML.任何代码或方向都将受到高度赞赏,但大多数我希望避免任何商业第三方WPF,而是希望专注于自己构建它们(但我需要指导)或使用Codeplex

.net wpf user-interface wpftoolkit wpf-controls

4
推荐指数
1
解决办法
572
查看次数

比较创建的DateTime到DateTime.Today在下午6点,C#

在C#中,我需要将DateTime.Today/ 6pm 的值与存储的字段进行比较Created DateTime.

基本上某些功能只能在创建日的同一天访问,然后才能到下午6点.

我不完全理解的部分是如何准确地表示今天下午6点进行比较.是否有一种方法总是返回,比如,午夜,我可以做一个.AddHours(18);

我是不是太复杂了?谢谢.

.net c# datetime

4
推荐指数
3
解决办法
3073
查看次数

如何以yyyyMM格式检查有效日期

我有一个内部业务流程,我的财务部门运行.为了开始它们,他们输入格式为yyyyMM或的日期201009.我想检查该字符串中的有效日期,但到目前为止我什么也没得到.

我正在探索破坏字符串,取第4个并检查它们是在1990年到2050年之间(例如),然后是最后2个并检查它是在01和12之间.

有没有更好的办法?

.net c# string date

4
推荐指数
1
解决办法
6588
查看次数

当Where返回0行时,LINQ查询null异常

我有以下LINQ方法,按预期工作,除非有没有找到行,然后我得到一个空例外.我正在努力如何修改它以返回0如果发生这种情况.

    public static int GetLastInvoiceNumber(int empNumber)
    {
        using (var context = new CmoDataContext(Settings.Default.LaCrosse_CMOConnectionString))
        {
            context.Log = Console.Out;

            IQueryable<tblGreenSheet> tGreenSheet = context.GetTable<tblGreenSheet>();

            return (tGreenSheet
                            .Where(gs => gs.InvoiceNumber.Substring(2, 4) == empNumber.ToString())
                            .DefaultIfEmpty()
                            .Max(gs => Convert.ToInt32(gs.InvoiceNumber.Substring(6, gs.InvoiceNumber.Length)))
                            );
        }
    }
Run Code Online (Sandbox Code Playgroud)

谢谢


我尝试了Jon Skeet的一个建议,现在我得到了 Unsupported overload used for query operator 'DefaultIfEmpty'

    public static int GetLastInvoiceNumber(int empNumber)
    {
        using (var context = new CmoDataContext(Settings.Default.LaCrosse_CMOConnectionString))
        {
            context.Log = Console.Out;

            IQueryable<tblGreenSheet> tGreenSheet = context.GetTable<tblGreenSheet>();

            return tGreenSheet
                            .Where(gs => gs.InvoiceNumber.Substring(2, 4) == empNumber.ToString())
                            .Select(gs => Convert.ToInt32(gs.InvoiceNumber.Substring(6, gs.InvoiceNumber.Length)))
                            .DefaultIfEmpty(0) …
Run Code Online (Sandbox Code Playgroud)

.net c# linq .net-3.5 linq-to-sql

4
推荐指数
1
解决办法
7454
查看次数

(Char)174返回(Char)0174的值,为什么?

我正在使用字符串分隔符,其中一个是«或174.但是,当我单步执行我的代码时,它在调试器中看起来就是这样,即0174.请参阅此处了解代码.

这是我在代码中进行参考的方式:

string fvDelimiter = ((char)174).ToString();

.net c# ascii char

4
推荐指数
1
解决办法
934
查看次数

显示/隐藏详细信息WinForm

我正在创建一个WinForm应用程序(.net3.5),我在其中显示一些客户端详细信息.我的问题是我们有一个与地址相关的路线字段.为了节省空间,我希望隐藏方向,直到用户"希望"看到它们.我想要的方法是有一个"手风琴",就像指示一样.
我想我也可以使用隐藏字段和BringToFront()(这会更好).

有人可以为手风琴风格提供一些指导吗?
有事情已经存在吗?
我需要考虑一些特殊的东西吗?
在编码我自己的行为; 我会把所有东西都放下来,然后再备份等等吗?

谢谢!

.net layout winforms

3
推荐指数
1
解决办法
3890
查看次数

将数据从子表单发送到父表单TextBox

我有一个父母表格,其中包含带有名字,姓氏等的"HUD".其中一个子表单是一个搜索表单.当用户从DataGrid中显示的结果中选择一个成员时,我希望相关信息填写HUD.我创建了一个HUD类,其中包含每个值的变量和一个名为UpdateHUD()的方法.我不确定如何使这个工作.我引用了包含HUD的父表单的搜索表单,如下所示:

public frmWWCModuleHost _frmWWCModuleHost;
Run Code Online (Sandbox Code Playgroud)

这是我用来嵌入表单的代码.我没有使用MDI.

 public static void ShowFormInContainerControl(Control ctl, Form frm)
    {
        frm.TopLevel = false;
        frm.FormBorderStyle = FormBorderStyle.None;
        frm.Dock = DockStyle.Fill;
        frm.Visible = true;
        ctl.Controls.Add(frm);
    }
Run Code Online (Sandbox Code Playgroud)

这是我在搜索表单上单击"单击"时运行的代码.这是在我尝试实现HUD类之前.

private void dgvSearchResults_CellContentClick(object sender, DataGridViewCellEventArgs e)
    {
        _frmWWCModuleHost = new frmWWCModuleHost();
        _frmWWCModuleHost.tbxHUD_LastName.Text = dgvSearchResults.CurrentRow.Cells[1].FormattedValue.ToString();
        _frmWWCModuleHost.tbxHUD_LastName.Invalidate();
        _frmWWCModuleHost.FormPaint();
    }
Run Code Online (Sandbox Code Playgroud)

提前致谢!

〜帕特里克


编辑


dgvSearchResults_CellContentClick现在是最新的.当我单步执行此代码时,它在此处获得正确的值,但它永远不会更新实际的HUD.


编辑2


我的问题是我宣布一个新的frmWWCModuleHost而不是将ref传递给现有的?我对此的理解仍然很弱.


编辑3


我通过执行以下操作"解决"了这个问题:在我声明子表单的父表单上,我将作为参数传递.然后在子窗体的构造函数中我添加了_frmWWCModuleHost = m_parent; 我的父窗体上有一个UpdateHUD()方法,我从子窗口的_CellClick事件中调用它.

现在重温我的问题; 这样做有什么明显的错误吗?

c# .net-3.5 winforms

3
推荐指数
1
解决办法
1万
查看次数

可以重新破坏你的代码吗?

作为一个独立商店的年轻(ish)开发人员,我非常欣赏Resharper作为学习工具和mini-QA.话虽这么说,Resharper在某些情况下可能会破坏你的代码(可能是边缘)?

例如(见下文),R#不断暗示我的 - >

this. is redundant catch is redundant

还有其他一些例子,但我并没有像一般情况那样询问具体的例子.

有没有人有一个R#建议打破他们的代码?如果是这样的话,对我来说最重要的是什么呢?我能找到什么才能理解它是否真的给了我不好的建议?

 private void LoadMyForm(DataRow row)
    {

        try
        {
            this.tbxFirstName.Text = row["FirstName"].ToString();
            this.tbxLastName.Text = row["LastName"].ToString();
            tbxMiddleName.Text = row["MiddleName"].ToString();
            tbxPersonID.Text = row["PersonID"].ToString();
            tbxSSN.Text = row["SSN"].ToString();
            tbxEmailAddress.Text = row["EmailAddress"].ToString();
        }
        catch (Exception)
        {
            throw;
        }
    }
Run Code Online (Sandbox Code Playgroud)

.net resharper

3
推荐指数
3
解决办法
867
查看次数

在Checked List Box中获取带有值的索引

chkContactType.Items当我单步执行代码时,我实际上发现它是空的.我甚至添加了一个Watch chkContactType.Items.Count,它永远不会是0.我现在非常困惑,因为它显然不是因为我的Insert方法工作正常,使用这些相同的框并插入每个项目的Value Member ....


我有一些检查列表框控件,我需要根据项目值设置CheckState,因为这是存储在DB中的现有记录.不幸的是,我只看到了一种通过未存储的索引设置它的方法.索引是控件的本地索引,因此,例如,控件ContactType中有15个项目.指数是0-14.项目价值分别为39,40,41,42,43,44,45,46,47,48,49,50,2077,2078,2079.如何使用Value Member值获取索引值或使用Value Member值设置每个返回项的checkstate?

谢谢

 private void PaintDetails(Guid cNoteID)
    {
        var cNoteDetailDT = CurrentCaseNote.GetCNoteDetail(cNoteID);
        LoadCaseNoteDetailData(cNoteDetailDT.Rows[0]);

        // Load Contact Type Data for this CaseNote
        // contactTypeDT returns ItemID of chk items 
        // that were checked for this Guid
        using (var contactTypeDT = CurrentCaseNote.GetCNoteContactType(cNoteID))
        {
            if (contactTypeDT.Rows.Count > 0)
                foreach (DataRow row in contactTypeDT.Rows)
                {
                    LoadContactTypeData(row);
                }
        }
    }

    private void LoadContactTypeData(DataRow row)
    {
        // This does not work
        var theItem = row["ItemID"].ToString();
        // itemIndex always ends …
Run Code Online (Sandbox Code Playgroud)

c# data-binding devexpress checkedlistbox winforms

3
推荐指数
1
解决办法
3万
查看次数

用户控件的控件是否应由属性支持?

希望我说的是对的.我有一个WinForm(3.5)应用程序有1个表格,分为两个区域.1是导航,另一个是Panel,是内容.您可以在导航部分中选择所需的内容,即人口统计数据,然后在面板中嵌入包含所有人口统计数据控件的UserControl.

我是问如果每个用户控制应该有一个Property为每个Control就可以了.示例:ucDemographics有一个名为的文本框txtCity.如果有一个Property存储valuetxtCity,让我的表格和其他用户控件来访问它?

这是普遍接受的"最佳实践"吗?

如果不是,那是什么?

.net c# user-controls properties winforms

3
推荐指数
1
解决办法
248
查看次数