小编Tho*_*mas的帖子

当用户单击标题栏中的十字时,如何显示MessageBox提示

我目前正在开发一个C#Windows窗体应用程序.

用户通过loginForm登录后,它将被带到mainForm.

我想用一种方式编写代码,用户点击mainForm标题栏上的十字后,会有一个提示询问用户"这将关闭应用程序.确认?" 然后是是和否按钮.

如果是,将显示另一个框,"申请已关闭!"

如果不是,消息框将关闭,应用程序将继续运行.

我目前的代码是:

private void mainForm_FormClosing(object sender, FormClosingEventArgs e)
{
    if (MessageBox.Show("This will close down the whole application. Confirm?", "Close Application", MessageBoxButtons.YesNo) == DialogResult.Yes)
    {
        MessageBox.Show("The application has been closed successfully.", "Application Closed!", MessageBoxButtons.OK);
        System.Windows.Forms.Application.Exit();
    }
    else
    {
        this.Activate();
    }   
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

首先,我不知道为什么消息框弹出两次以便整个事情关闭.

其次,如果我点击否,表格也会关闭,我无法将其恢复.

c# winforms

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

有没有好的WCF发布/订阅框架教程?

我一直试图在网上寻找一个好的wcf发布/订阅框架教程,但大多数都带有不完整的指令或代码不起作用.

谁有任何好的来源,我可以了解更多?

wcf

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

如何让我的公式始终参考最后一张?

我目前在excel文件中有2个工作表.

第一个工作表称为"摘要"页面,它显示第二个工作表的摘要结果.

第二张表称为原始数据.一个例子是名为Fruits的列.

Apple
Apple
Apple
Banana
Banana
Pear
Run Code Online (Sandbox Code Playgroud)

在第一张表中,我将有一个公式,计算相应水果出现的时间,结果将显示在不同的单元格中.

=COUNTIF(Fruits!A2:A7,"Apple")
=COUNTIF(Fruits!A2:A7,"Banana")
Run Code Online (Sandbox Code Playgroud)

我想做的是,我是否可以对公式进行编程,以便每次添加新的原始数据表(第3张)时,第一张表上的统计数据都可以引用最新的表格来获取信息.

(假设数据的定位和所有都与第二张相同.)

到目前为止我所做的是提出一个GETLASTWSNAME()能够始终检索最后一个工作表名称的函数.但是我似乎不可能在countif公式本身中嵌入函数.

=COUNTIF((GETLASTWSNAME())!A2:A7,"Apple)
Run Code Online (Sandbox Code Playgroud)

上面的公式是我希望我的公式如何工作,但遗憾的是excel不允许我这样做.

任何意见将不胜感激.谢谢!

excel vba excel-vba excel-formula

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

使用Timer的交叉线程错误处理表单

我在我的一个窗体上设置了10秒的计时器.对于OnTimedEvent,我设置表格在时间结束后处理.但是似乎有一个错误

用户代码未处理InvalidOperationException.

跨线程操作无效:控制'notificationForm'从其创建的线程以外的线程访问.

错误就行了

protected override void Dispose(bool disposing)
    {
        if (disposing && (components != null))
        {
            components.Dispose();
        }
        base.Dispose(disposing);
    }
Run Code Online (Sandbox Code Playgroud)

我的计时器事件的代码是

    private void OnTimedEvent(object source, ElapsedEventArgs e)
    {
        this.Dispose();
    }
Run Code Online (Sandbox Code Playgroud)

有人知道怎么修这个东西吗?谢谢!

c# error-handling exception winforms

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

我应该如何编写C#Windows窗体应用程序的事件处理程序?

我目前正在开发一个C#Windows窗体应用程序,我打算让它与服务器进行交互.服务器将从我开发的移动应用程序接收发布,并且每当收到发布时,我的Windows窗体应用程序应该得到通知并给我通知.

例如,我的移动应用程序将消息发送到我的服务器.一旦我的服务器收到消息,我的Windows窗体应用程序应显示一个新通知,显示收到的消息内容.

上面的场景只是我打算用整件事做的一个例子.我知道如何编写我的C#应用​​程序以接收上述信息?

c# event-handling winforms

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

如何将按钮面板放入流布局面板?

我有一个包含标签、按钮和图像的面板,我希望将它们放入流布局面板中。

正如一些教程中所见,我知道可以将新按钮和附加按钮自动对齐到流布局面板中。

我想问的是,是否可以将面板放在流布局面板中,并调用同一面板的多个实例以显示在流布局面板中。

我的面板代码是

        this.panelNotification.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
        this.panelNotification.Controls.Add(this.button1);
        this.panelNotification.Controls.Add(this.lblImage);
        this.panelNotification.Controls.Add(this.lblName);
        this.panelNotification.Controls.Add(this.lblLinkName);
        this.panelNotification.Controls.Add(this.lblLinkLocation);
        this.panelNotification.Controls.Add(this.lblLocation);
        this.panelNotification.Location = new System.Drawing.Point(3, 3);
        this.panelNotification.Name = "panelNotification";
        this.panelNotification.Size = new System.Drawing.Size(506, 100);
        this.panelNotification.TabIndex = 17;
Run Code Online (Sandbox Code Playgroud)

那么是否可以将整个面板包含到一个流布局面板中?如果是,我该怎么做。谢谢你。

c# user-interface

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

使用ng-map/angularjs-google-maps在javascript中检索当前位置

如何使用allenhwkim的angularjs-google-maps api在javascript中检索我当前的位置?

目前,我可以通过HTML代码访问我当前的位置

<marker animation="DROP" position="current-location"></marker>
Run Code Online (Sandbox Code Playgroud)

但是我希望实现一个当前位置按钮,当我离开当前位置时,它会让我将地图置于当前位置.

HTML:

<input type="submit" Value="currentLocation" ng-click ="currentLocation()"/>
Run Code Online (Sandbox Code Playgroud)

JS:

$scope.currentLocation = function(){
        //how do i get current location?
};
Run Code Online (Sandbox Code Playgroud)

谢谢!

javascript google-maps angularjs

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

如何使用ImageLocation将图像放入我的图片框?

我在我的面板中创建了一个图片框,我想在本地填写图像.

这是我到目前为止所做的,以下代码只是我的面板创建代码的一小部分.

PictureBox picture = new PictureBox
        {
            Name = "pictureBox",
            Size = new Size(100, 50),
            Location = new Point(14, 17)
        };
        p.Controls.Add(picture);
        picture.ImageLocation = @"..\Image\1.jpg";
Run Code Online (Sandbox Code Playgroud)

它确实有效但不完全,因为在我启动了我的c#windows窗体应用程序之后,它显示了一个小的白色框,中间有一个红叉而不是图像.知道怎么解决吗?

c# user-interface winforms

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

Windows窗体组合框的默认值?

我有一个包含不同声音值的组合框.每当我选择不同的值时,播放器就会播放一次声音.

然而问题是当我启动程序时,在加载表单时,我在组合框中加载包含先前存储的声音值的设置文件,我使用组合框的SelectedIndex属性作为默认值.

使用SelectedIndex会导致播放器在程序启动时播放一次声音,这在某种程度上是奇怪的.

任何想法如何选择除selectedIndex之外的默认值?由于selectedIndex还运行该特定值的后端代码.

combobox winforms

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