小编Bla*_*hor的帖子

如何按Enter键使焦点移动到下面的单元格,就像Excel的默认行为一样?

我使用的是Infragistics UltraWinGrid v9.1.我想允许用户在单元格中输入数值数据,按Enter键,然后将焦点放在下面的单元格上,就像在Excel中看到的那样.似乎KeyUp事件可能比KeyPressed事件更好,但是我继续抛出一个异常,即使我从一个完整网格的顶部开始,我已经超越了UltraWinGrid的范围.这是我尝试过的代码:

    private void ugrid_KeyUp(object sender, KeyEventArgs e)
    {
        UltraGrid grid = (UltraGrid)sender;

        if (e.KeyCode == Keys.Enter)
        {
            // Go down one row
            UltraGridCell cell = grid.ActiveCell;
            int currentRow = grid.ActiveRow.Index;
            int col = cell.Column.Index;
            grid.Rows[currentRow + 1].Cells[grid.ActiveCell].Activate();
        }
    }
Run Code Online (Sandbox Code Playgroud)

我希望这可以使单元格位于同一列但下面一行成为调用的活动单元格grid.Rows [currentRow + 1] .Cells [grid.ActiveCell] .Activate();

而是抛出异常:

Infragistics2.Shared.v9.1.dll中出现类型'System.IndexOutOfRangeException'的例外但未在用户代码中处理附加信息:索引超出了数组的范围.

由于我在第0行并且存在第1行,这对我来说是一个惊喜.currentRow和col的值分别为0和28.什么是更好的方法?顺便说一句,我可以在下面的单元格中再次执行此操作,其中值为currentRow = 1和col = 28.抛出相同的异常.

infragistics ultrawingrid onkeypress

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

使用 Web 应用程序管理定时事件的首选方法是什么?

我正在设计一个 ASP.NET 4.0 Web 应用程序,管理员可以在其中创建一个有期限的拍卖。过期时间将存储在数据库中。考虑到应用程序实例在预定时间可能尚未运行,如何确保拍卖在预定时间结束?该应用程序将由 IIS7 托管。我正在考虑 Windows 服务,但我想知道还有哪些其他选择。

c# asp.net iis-7 timer

2
推荐指数
1
解决办法
517
查看次数

有没有一种固定的方法可以使用 Write-Host 在 Powershell 中记录当前行?

我想要像我记得的 C++ 宏那样的东西,我可以在其中输出当前行号。这是完全相同的代码,但预处理器会将宏替换为当前行。我想要在 PowerShell 中执行类似的操作,这样当 TFS 2015 告诉我第 6 行有错误,但第 6 行是注释时,我就可以知道这意味着什么。显然,我所看到的和 PowerShell “认为”的第 6 行有所不同。

powershell

2
推荐指数
1
解决办法
1789
查看次数

如何在不抛出异常的情况下,仅将未绑定列添加到Infragistics UltraGrid一次?

使用NetVantage Windows Forms 9.1 UltraGrid,我想添加一些未绑定的列来进行一些简单的计算.第一次在InitializeLayout委托中输入此代码时,它会发现列尚不存在,然后添加它们.令人惊讶的是,当我获取新数据,重新绑定网格,然后再次输入此委托时,它仍然发现这些列不存在然后尝试添加它们.然后抛出异常,"Key已经存在."

UltraGridColumn changeColumn,pctChgCol;

if (e.Layout.Bands[0].Columns.Contains("Change"))
{
    changeColumn = e.Layout.Bands[0].Columns["Change"];
    pctChgCol = e.Layout.Bands[0].Columns["Percent Change"];
}
else
{
    changeColumn = e.Layout.Bands[0].Columns.Add("Change");
    pctChgCol = e.Layout.Bands[0].Columns.Add("Percent Change");
}
changeColumn.Formula = "[Publish Price] - [Override Price]";
pctChgCol.Formula = "if(0=[Publish Price] , 0 , ([Publish Price] - [Override Price])/[Publish Price] )";
Run Code Online (Sandbox Code Playgroud)

infragistics ultrawingrid

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

.NET 2.0 WinForm打印屏幕

我想打印一个对话框的图像,就像使用[alt] [Print Scrn]一样.框架是否允许以编程方式完成此操作?

.net c# printing winforms

0
推荐指数
1
解决办法
3157
查看次数