小编Dav*_*wig的帖子

如何在显示后调用UserControl中的方法?

我有一个多窗格的表单,在左窗格中是一个树,在右窗格中是一个面板.树选择导致在Panel上加载特定的UserControl.在这种情况下,由于父表单总是被加载,我无法挂钩到父表单的Shown事件.

我的大多数UC都有一个未绑定的DataGridView,需要在创建UC时填充它们.从SQL Server数据库有时可以预先添加50,000行.

到目前为止,我已经在UC构造函数中填充了网格,但是自从我们开始使用50,000行后,事情就发生了变化.我发现,由于某些疯狂的原因,从构造函数中填充50,000行的网格需要至少15分钟.但是,如果我等到填充网格直到我单击按钮或从Load事件,则需要15秒.这是一个谜.所以我试图将网格加载到其他地方.

但是,当我尝试从Load事件填充网格时,会出现视觉上的不一致.会发生什么,是否看到我的UC的小版本出现,加载DGV行需要15秒,然后UC扩展以填充Panel(UC Dock属性设置为Fill).所以我也不喜欢这个选项.

如果它存在于UC的话,Shown事件将是加载我的网格的完美场所.有谁知道另一种方法吗?

c# winforms

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

是什么让 c:\Program Files 受 UAC 保护?

我知道这c:\Program Files是受 UAC 保护的,如果我允许用​​户安装到d:\Program Files,默认情况下这不受 UAC 保护。c:\Program Files除了目录安全设置之外,是什么让UAC 受到保护?是简单的目录安全性,还是 Windows 做的其他事情使它变得特别?

我想劝告别人时,如果它有可能使d:\Program Files排序为等效的安全c:\Program Files。如果我d:\Program Files使用与 相同的目录安全性创建c:\Program Files,这些文件夹是否等效?

windows security uac program-files

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

git checkout 分支导致头分离

尝试签出我的系统上尚不存在的远程分支。就这个问题而言,我的系统上不存在这 3 个分支。

git branch -r显示远程上相关分支的列表:

  origin/V2.0005B2
  origin/V2.0005B3
  origin/V2.0005B4
Run Code Online (Sandbox Code Playgroud)

我可以运行git checkout V2.0005B2git checkout V2.0005B4正常,它会创建一个本地副本并将其设置为跟踪。

但当我尝试跑步时,git checkout V2.0005B3每次都会让我处于一种超然的头脑状态。我尝试过的每台机器上都会发生这种情况。

SourceTree 可以像 git fork 一样检查这个分支。但是Git bash命令行就有这个问题。

我只希望这个分支没有任何问题,否则只要最初使用其他实用程序之一进行检查,它似乎就可以正常工作。该分支位于 BitBucket 中,我已登录那里查看是否可以看到任何异常情况,但它看起来与其他分支相同。

谢谢,戴夫

git branch bitbucket

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

将记录插入Oracle的成本较低的方法是什么?

我需要能够重复处理XML文件并将大量数据插入Oracle数据库.该过程需要能够创建新记录,或者如果数据已存在则更新现有记录.

我可以想到两种方法来处理将100,000条记录插入/更新到Oracle数据库中.但哪种方法更好?或者还有另一种方式吗?

  • 尝试INSERT.如果没有例外,插入工作正常,一切都很好.如果有异常,请抓住它并进行更新.
  • 首先查找记录(SELECT).如果没有找到,请执行INSERT.如果找到,请进行更新.显然,如果Oracle表为空,则第一种方法通过前面的查找节省时间.但是如果先前导入了文件,然后有人更改了几行并重新导入,那么生成的异常数量就会变得很大.由于查找,第二种方法在空数据库上花费的时间更长,但在后续导入期间不会生成昂贵的异常.

使用这样的数据是否有"正常"模式?

谢谢!

sql database oracle

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

标签 统计

bitbucket ×1

branch ×1

c# ×1

database ×1

git ×1

oracle ×1

program-files ×1

security ×1

sql ×1

uac ×1

windows ×1

winforms ×1