问题列表 - 第11216页

如何在C#中以特定顺序处理事件?

我有这个想法,在每个按钮的基本自定义页面中注册一个事件.我可以检查它是保存还是编辑,然后进行授权和验证.派生页面仍会处理单击事件以执行在该页面上保存的细节.我不确定哪个事件会先发生.(但它可能是连线的顺序)如果父页面首先运行,我可以通过设置IsAuthorized或IsValidated属性并在每个派生页面的单击处理程序中检查它来获得预期的行为.

无论如何,有没有办法确保基页的事件处理程序首先运行并完成,还是有办法挽救它?

编辑:我是否忽略了一个更简单的设计,不需要为应用程序中的每个编辑/保存/更新按钮添加锅炉板代码?什么是一个事件处理与另一个事件交流的正确方法?例如,基页需要传达成功或失败验证,派生类需要传达保存的成功或失败,以便可以将其记录在审计中.

//Base page-- seems like this will work if events happen in order of wireup.
protected override void OnInit(EventArgs e)
{
    foreach (Control possibleButton in Controls)
    {
        if(possibleButton is Button)
        {
            Button button = (Button) possibleButton;
            button.Command += ButtonCommandPreconditions;
        }
    }
    base.OnInit(e);
    foreach (Control possibleButton in Controls)
    {
        if(possibleButton is Button)
        {
            Button button = (Button) possibleButton;
            button.Command += ButtonCommandPostconditions;
        }
    }
}

void ButtonCommandPreconditions(object sender, CommandEventArgs e)
{
        if(e.CommandName=="Save" || e.CommandName=="Edit")
        {
            //Stuff that needs to happen …
Run Code Online (Sandbox Code Playgroud)

c# asp.net events event-handling

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

如何在gcc中添加关键字?

我的目标是分析和学习编译器开发技术的细节.在这里,我想在gcc中添加一个关键字,看看它是如何工作的.

compiler-construction gcc keyword

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

2D-float数组值扫描

我用C语言编写了一个代码,如下所示:

main()
{
    float x[10][10];  int i,j;   clrscr();
    scanf("%d%d",&i,&j);
    for(i=0;i<3;i++)
        for(j=0;j<3;j++)
            scanf("%f",&x[i][j]);
 ......
}
Run Code Online (Sandbox Code Playgroud)

当我运行这个程序时,会出现一个错误终止,错误如"FLOATING POINT CONVERSIONS NOT LINKED".
你介意告诉我我错了什么吗?

我的操作系统:Windows XP编译器:TurboC

c arrays floating-point

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


用WPF绘制家谱

我正在寻找有关如何使用WPF(和C#)绘制族谱的教程.

http://www.myheritage.nl/FP/family-tree.php?s=65040841或Family.Show之类的东西,但对于一个完整的初学者.Family.Show有点太复杂了.我不想实现外部控件,而是想学习如何自己编写它们.

所以我需要知道所有的事情:如何绘制项目,算法用于定位/绘制所有元素等等...但是我找不到任何有关WPF的初学者教程.

我希望有人可以帮助我.

c# wpf tree family-tree

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

爱丽丝和Python对于没有经验的人

我的兄弟想学习一些编程,以了解他是否喜欢这样做.他16岁,对计算机一般不太了解,对程序设计一无所知.

我正在考虑选择Alice或Python.我认为Think Python是经常推荐的读物,但对于初学者来说,它是不是有点太多(尺寸方面)?这当然不是太复杂,但我对我的兄弟并不那么乐观...... :)他能尝试的其他任何东西都会更小而且非常简单吗?

还有,有没有人有过爱丽丝的经历?我自己不会真的想以这种方式开始编程,但我可以看到为什么视觉方面可能对某些人更具吸引力.我只是不确定它是如何限制的,如果用于学习伪语言的时间不会更好地学习真正的语言.

编辑:谢谢你的回复.我想我们会选择Python.但是,正如我上面提到的,对于一个完整的"新手"来说,"Think Python"有点过于广泛吗?您可以推荐任何其他但更简单的Python编程介绍?

python alice

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

如何使用元编程来减少Ruby代码中的冗余?

class Device
  def initialize(device_id, data_resource)
    @id = device_id
    @data_resource = data_resource
  end

  def display_device
    mode = @data_resource.get_display_device_mode(@id)
    presets = @data_resource.get_display_device_presets(@id)
    summary = "display_device: #{mode} ($#{presets})"
    return "* #{summary}" if presets == "XTC909"
    summary
  end

  def chip
    mode = @data_resource.get_chip_mode(@id)
    presets = @data_resource.get_chip_presets(@id)
    summary = "chip: #{mode} ($#{presets})"
    return "* #{summary}" if presets == "XTC909"
    summary
  end

  def input_device
    mode = @data_resource.get_input_device_mode(@id)
    presets = @data_resource.get_input_device_presets(@id)
    summary = "input_device: #{mode} ($#{presets})"
    return "* #{summary}" if presets == "XTC909"
    summary
  end

end
Run Code Online (Sandbox Code Playgroud)

从上面的代码中可以看出,这些方法中存在相当多的冗余. …

ruby metaprogramming

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

诅咒得到箭头键

在尝试通过curses(ncurses)从箭头键获取输入时,它不会捕获KEY_UP等.我使用带有true参数的键盘函数但是getch仍然返回一个转义序列.如何筛选getch()返回的值并专门抓取箭头键?

c curses key input ncurses

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

如何使用memcached改善社交网站的性能?

我想在我的社交网站上实现memcached.作为一个社交网络,大多数数据都经常变化.

例如,如果我要将用户的10,000个朋友存储在缓存中,则无论何时添加朋友,都需要更新缓存.这很容易,但是当其他人将它们添加为朋友时,它也需要更新.仅仅在好友列表上进行了大量更新.

还有一些用户博客和公告,这些博客和公告是不间断发布的新用户博客和公告,您只能在朋友列表中看到用户创建的博客和公告,所以我认为这很难缓存.

我可以看到可能缓存一些仅在用户更新其配置文件时更改的配置文件信息,但如果有超过100,000个用户进行了大量缓存,则会为每个用户创建一个缓存记录.这是一个好主意吗?

php memcached

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

模板元编程是否比同等的C代码更快?

模板元编程是否比同等的C代码更快?(我说的是运行时性能):)

c c++ language-agnostic templates metaprogramming

11
推荐指数
2
解决办法
4204
查看次数