问题列表 - 第7860页

如何在TEdit中禁用复制/粘贴

我想防止复制,剪切和粘贴我的TEdit.我怎样才能做到这一点?

我在控件上按下时尝试设置Key=NULLon KeyDown事件CTRL+V,但是没有用.

clipboard vcl c++builder

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

Linq和Equality Operator:类型'System.Int32'的表达式不能用于'System.Object'类型的参数

我正在尝试覆盖C#中的相等(==)运算符来处理将任何类型与自定义类型进行比较(自定义类型实际上是null周围的包装器/框).

所以我有这个:

internal sealed class Nothing
{
    public override bool Equals(object obj)
    {
        if (obj == null || obj is Nothing)
            return true;
        else
            return false;
    }

    public static bool operator ==(object x, Nothing y)
    {
        if ((x == null || x is Nothing) && (y == null || y is Nothing))
            return true;
        return false;
    }
   ...
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我打电话:

Nothing n = new Nothing();
bool equal = (10 == n);
Run Code Online (Sandbox Code Playgroud)

它工作得很好.但是,如果我尝试通过Linq表达式树执行相同的操作:

exp = Expression.Equal(
    Expression.Constant(10), 
    Expression.Constant(new Nothing(), typeof(Nothing))
); …
Run Code Online (Sandbox Code Playgroud)

.net c# linq operator-overloading

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

每个表都应该有一个主键吗?

我正在创建一个数据库表,并且没有为其分配逻辑主键.所以,我正考虑在没有主键的情况下离开它,但我对此感到有点内疚.我是不是该?

每个表都应该有一个主键吗?

database database-design

319
推荐指数
9
解决办法
24万
查看次数

如何调试ConcurrentModificationException?

我遇到了ConcurrentModificationException,通过查看它我看不出它为什么会发生的原因; 抛出异常的区域和修改集合的所有位置都被包围

synchronized (this.locks.get(id)) {
  ...
} // locks is a HashMap<String, Object>;
Run Code Online (Sandbox Code Playgroud)

我试图抓住讨厌的线程,但我可以钉(通过在异常中设置一个断点)是抛出线程拥有监视器而另一个线程(程序中有两个线程)休眠.


我该怎么办?当遇到类似的线程问题时,您通常会做什么?

java concurrency multithreading exception

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

在Java中更改当前工作目录?

如何在Java程序中更改当前工作目录?我能找到的关于这个问题的一切声称你根本做不到,但我不相信那是真的.

我有一段代码,它使用来自通常启动的目录的硬编码相对文件路径打开文件,我只是希望能够在不同的Java程序中使用该代码,而无需从内部启动它一个特定的目录.看起来你应该只能调用System.setProperty( "user.dir", "/path/to/dir" ),但据我所知,调用该行只是默默地失败并且什么都不做.

我会理解,如果Java不允许你这样做,如果它不是因为它允许你获得当前的工作目录,甚至允许你使用相对文件路径打开文件....

java working-directory

164
推荐指数
7
解决办法
20万
查看次数

如何将文本中的URL转换为HTML链接?

我正在Perl中编写一个论坛类型的讨论板,并希望自动将http://www.google.com更改为HTML链接.这也应该是安全的,并且在安全方面也是错误的.是否有一种快速,简单,安全的方式自动添加链接?

html url perl

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

Rails update_attributes方法是否是在数据库中更新模型的最佳选择?

def update
  @album = Album.find(params[:id])
  if @album.update_attributes(params[:album])
    redirect_to(:action=>'list')
  else
    render(:action=>'edit')
  end    
end
Run Code Online (Sandbox Code Playgroud)

我正在讨论的Rails 1.1.6教程建议使用update_attributes更新模型的方法,如上面列出的控制器的示例代码中所示.看看Rails文档,我想知道为什么这个update方法不是首选,特别是因为它的逻辑命名.

controller model ruby-on-rails updatemodel update-attributes

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

如何将信息从一个 WPF UserControl 传递到另一个 WPF UserControl?

我有一个 WPF 应用程序。

在左侧有一个充满按钮的堆栈面板。

右侧有一个空的停靠面板。

当用户单击按钮时,它会将相应的 UserControl (View)加载到停靠面板中:

private void btnGeneralClick(object sender, System.Windows.RoutedEventArgs e)
{
    PanelMainContent.Children.Clear();
    Button button = (Button)e.OriginalSource;
    Type type = this.GetType();
    Assembly assembly = type.Assembly;

    IBaseView userControl = UserControls[button.Tag.ToString()] as IBaseView;
    userControl.SetDataContext();

    PanelMainContent.Children.Add(userControl as UserControl);
}
Run Code Online (Sandbox Code Playgroud)

这种模式很有效,因为每个 UserControl 都是一个 View,它有一个 ViewModel 类,该类向它提供从模型中获取的信息,因此用户可以在页面之间单击,并且每个页面都可以执行独立的功能,例如编辑所有客户,保存到数据库等

问题:

但是,现在,在其中一个页面上,我想要一个包含客户列表的 ListBox,并且每个客户都有一个“编辑”按钮,当单击该编辑按钮时,我想用 EditSingleCustomer 填充 DockPanel UserControl 并将其传递给它需要编辑的 Customer。

我可以加载 EditCustomer 用户控件,但是如何将它传递给客户以编辑并设置其 DataContext 以编辑该客户

  • 我无法在构造函数中传递它,因为所有 UserControl 都已创建并存在于 MainWindow.xaml.cs 的字典中。
  • 所以我在每个 UserControl 上创建了一个 PrepareUserControl 方法并将 Customer 传递给它,并且可以使用 x:Name="..." …

c# wpf user-controls application-design

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

使用Google AJAX Libraries API时,将jQuery注入页面失败

我想使用Google AJAX Libraries API将jQuery注入页面,我提出了以下解决方案:

http://my-domain.com/inject-jquery.js:

;((function(){

  // Call this function once jQuery is available
  var func = function() {
    jQuery("body").prepend('<div>jQuery Rocks!</div>');
  };

  // Detect if page is already using jQuery
  if (!window.jQuery) {
    var done = false;
    var head = document.getElementsByTagName('head')[0];
    var script = document.createElement("script");
    script.src = "http://www.google.com/jsapi";
    script.onload = script.onreadystatechange = function(){

      // Once Google AJAX Libraries API is loaded ...
      if (!done && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {

        done = true;

        // …
Run Code Online (Sandbox Code Playgroud)

javascript jquery google-ajax-libraries

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

Windows资源管理器 - 相同文件扩展名的动态图标

对于Visual Studio .sln文件,Window Explorer正在做一些"聪明"的事情,以确定是否显示v8或v9图标.

现在,当双击/启动图标时,我知道它通过"Visual Studio Launcher"应用程序查看sln文件中的版本信息并选择性地运行VS2005或VS2008

但任何想法如何做图标部分.据推测,只需浏览一个文件夹,就会在后台打开文件并决定使用哪个Icon,但它是如此无缝/快速.

知道它是如何完成的.我们这里有配置生成器,由ClickOnce更新部署,但是人们很快就能看到生成器应用程序的哪个版本,创建了配置文件.

干杯,

icons windows-explorer visual-studio

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