小编Pro*_*bie的帖子

使用"退出"按钮关闭winform程序

我在winform上有一个退出按钮,我想用它来关闭程序.我已将按钮名称添加到winforms属性的events部分中找到的FormClosed属性.我认为这就是我必须要做的事情,但当我点击按钮时它不会关闭.我查看了代码,在创建处理程序时,其中没有代码.我不知道这是否正确.这是在Form.cs文件中创建的代码:

private void btnExitProgram_Click(object sender, EventArgs e)
    {

    }
Run Code Online (Sandbox Code Playgroud)

还有什么我需要做的?

c# winforms

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

MVC 4安装失败

我正在尝试将MVC 4安装到我的桌面.我是办公室里唯一遇到这个问题的人,即使我们都拥有相同的软件相同的机器.我不确定问题是什么.安装打印一个日志文件,但我不知道它有什么意义.如果有人有答案我会很感激.这是日志文件:

DownloadManager Information: 0 : Loading product xml from: https://go.microsoft.com/?linkid=9810537
DownloadManager Information: 0 : https://go.microsoft.com/?linkid=9810537 responded with 302
DownloadManager Information: 0 : Response headers:
HTTP/1.1 302 Found
Cache-Control: private
Content-Length: 175
Content-Type: text/html; charset=utf-8
Expires: Fri, 17 Aug 2012 17:13:22 GMT
Location: https://www.microsoft.com/web/webpi/4.0/webproductlist.xml
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
Set-Cookie: MC1=GUID=c6f89ed006465f41bf8ce6e310c073fb&HASH=d09e&LV=20128&V=3;    domain=microsoft.com; expires=Sun, 03-Oct-2010 07:00:00 GMT; path=/
X-Powered-By: ASP.NET
Date: Fri, 17 Aug 2012 17:14:22 GMT


DownloadManager Information: 0 : https://www.microsoft.com/web/webpi/4.0/webproductlist.xml responded with 304
DownloadManager Information: 0 : Response headers:
HTTP/1.1 …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asp.net-mvc-4

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

将SQL CASE WHEN语句转换为C#

我是暑期编程实习的第一周,他的任务是使用LINQPad将SQL Server 2008语句转换为C#.一旦我这样做并使其正常工作,我可以将其输入VS并根据需要进行调整.

问题是我运行SQL语句我不知道如何转换.在我的C#类中,我们没有将SQL语句转换为C#,我们只创建了一个字符串变量,将SQL语句分配给变量,然后将该变量赋值给OleDbCommand对象.我的导师在这个漫长的周末度过了休息日,我几乎独自一人,对于该做什么并且需要一些帮助毫无头绪.有几十个喜欢这个,如果我能看到如何做一个,我可以想出其余的.这是SQL语句:

,[hrs].{Hours] - SUM(
  CASE 
    WHEN [UnitState].[UnitStateTye] <> 'ACTIVE' 
      THEN [Allocation].[AllocatedEnergyMwh] 
    ELSE 0 
  END 
/ CAST([Unit].[NetDependableCapacity] AS FLOAT)) AS SH
Run Code Online (Sandbox Code Playgroud)

我很确定这是一个if语句:

if [UnitState].[UnitStateType] does not equal active 
then SH equals [hrs].[Hours] minus the the sum of
  [Allocation].[AllocatedEnergyMwh] / (float)[Unit].[NetDependableCapacity].  
else 
  SH = [hrs].[Hours]
Run Code Online (Sandbox Code Playgroud)

我尝试了下面的代码,我认为它不会起作用但需要从某个地方开始:

var results = 

    (from v in VDimUnit     
        join vf in VFactEnergyAllocation on v.UnitKey equals vf.UnitKey
        join vd in VDimGadsEvent on vf.GadsEventKey equals vd.GadsEventKey
        join vt in VDimTime on vf.TimeKey equals vt.TimeKey …
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server linq-to-sql

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

System.Collections.Generic.KeyNotFoundException:给定的键不在字典中

我在对方法执行单元测试时收到上述错误消息.我知道问题出在哪里,我只是不知道为什么它不在字典中.

这是字典:

var nmDict = xelem.Descendants(plantNS + "Month").ToDictionary(
    k => new Tuple<int, int, string>(int.Parse(k.Ancestors(plantNS + "Year").First().Attribute("Year").Value), Int32.Parse(k.Attribute("Month1").Value), k.Ancestors(plantNS + "Report").First().Attribute("Location").Value.ToString()),
    v => { 
             var detail = v.Descendants(plantNS + "Details").First();
             return new HoursContainer
             {
                 BaseHours = detail.Attribute("BaseHours").Value,
                 OvertimeHours = detail.Attribute("OvertimeHours").Value,
                 TotalHours = float.Parse(detail.Attribute("BaseHours").Value) + float.Parse(detail.Attribute("OvertimeHours").Value)
             };
         });

var mergedDict = new Dictionary<Tuple<int, int, string>, HoursContainer>();

foreach (var item in nmDict)
{
    mergedDict.Add(Tuple.Create(item.Key.Item1, item.Key.Item2, "NM"), item.Value);
}


var thDict = xelem.Descendants(plantNS + "Month").ToDictionary(
    k => new Tuple<int, int, string>(int.Parse(k.Ancestors(plantNS + "Year").First().Attribute("Year").Value), Int32.Parse(k.Attribute("Month1").Value), …
Run Code Online (Sandbox Code Playgroud)

c# linq-to-xml idictionary linq-to-sql

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

运算符'=='不能应用于'方法组'和'字符串'类型的操作数

我收到一个"运算符'=='不能应用于'方法组'和'字符串'类型的操作数"错误在这段代码的第三行,我不知道为什么.

where (PRIORITiesItem.Prioid == null || PRIORITiesItem.Prioid.Contains("1%")) 
    && (SITEItem.Id == "TH" || SITEItem.Id == "NM")  
--> && (sv.Glseg.TrimStart == "703" || sv.Glseg.TrimStart == "704" || sv.Glseg.TrimStart == "705")        
    && (CREWItem.Crewid == null || !CREWItem.Crewid.Contains("2-%") && CREWItem.Crewid.Contains("MAINT") 
        || (CREWItem.Crewid.Contains("ELECT") || CREWItem.Crewid.Contains("INST")
    && !WORKORDERTYPEItem.Id.Contains("Standing")))
Run Code Online (Sandbox Code Playgroud)

起初我以为也许它不喜欢"=="所以我用"="来表示它,但这不是问题.此外,它上方的线使用"==",它的工作正常.Glseg是表中的一个字段,而不是一个方法,因此它不能像字符串那样.有没有人有任何想法我错了?

c# linq linq-to-sql

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

在验证方法中使用 .xsd 文件

我创建了一个类来验证一些 XML。在该类中我有一个验证方法。我还有一个 .xsd 文件,其中包含我的 XML 架构。我被告知要使用此文件,我必须“将 xsd 文件加载到字符串中”

如何将 xsd 文件加载到字符串中?

c# xsd

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

如何设置我的winform按钮,以便我可以单击按钮或按Enter键

我在winform上有一些按钮,我希望可以选择单击按钮或按回车但我无法弄清楚如何做到这一点.它甚至可能吗?

c#

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

日期时间格式yyyymm

我找到了你能想到的每个DateTime格式,除了我需要的格式:yyyymm.我该怎么做呢?

我正在使用以下代码:

List <string> routines = new List<string>();
routines.Add("1 - Routine");
routines.Add("6 - Planned Outage");

int year = 2011;
int quarter = 1;

DateTime timeframe = new DateTime(year, (quarter * 3), 01).AddMonths(1); 

var results =

    (from wo in WORKORDERs

        join wot in WORKORDERTYPEs on wo.Wot_oi equals wot.Wotyoi

        join pri in PRIORITies on wo.Prio_oi equals pri.Priooi

        join s in SITEs on wo.BEparn_oi equals s.Siteoi

    where wo.Audt_created_dttm.Value.Year >= year - 3 && wo.Audt_created_dttm.Value.Year >= 2006
        && wo.Audt_created_dttm < timeframe && (s.Id =="NM" …
Run Code Online (Sandbox Code Playgroud)

c# linq

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

如何在Python 2.7.2中从raw_input创建列表?

我必须编写一个程序,接受一系列平均每日温度并将这些温度列入清单,但我无法弄清楚如何.我在下面尝试的东西不起作用.而不是给我一个列表,它只是给我最后一个输入.

def main():
    #create a list to store the temperatures.
    tempList = []
    while True:
        dailyTemp = raw_input(
            "Enter average daily temperature or -100 to quit: ")

        # assign dailyTemo to tempList list
        tempList = [dailyTemp]

        print tempList

        if dailyTemp == '-100':
           break

main()
Run Code Online (Sandbox Code Playgroud)

python-2.7

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

SQL AND NOT和AND等价物

我有以下SQL语句:

AND NOT (wo.ci_cnc_date IS NOT NULL AND p.prioid != '1 - Routine')
Run Code Online (Sandbox Code Playgroud)

MSDN声明"使用NOT否定表达式".

如果这是真的,那么上述陈述是否相当于:

AND (wo.ci_cnc_date IS NULL AND p.prioid == '1 - Routine')   
Run Code Online (Sandbox Code Playgroud)

sql logic

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

索引(从零开始)必须大于或等于零且小于参数列表的大小

尝试调用我的ToString()方法时,我收到上面的错误消息.我不确定问题是什么.这是我的代码:

public override string  ToString()
{
    return string.Format("{0} Pizzas @ {1:C}: {2:C}\n" +
        "{3} Cokes @ {4:C}  {5:C}\n" +
        "Order Amount: {6:C}\n" +
        "Sales Tax: {7:C}\n" +
        "Amount Due: {8:C}\n" +
        "Amount Paid: {9:C}\n" +
        "Change Due: {10:C}", numberOfPizzas, PIZZA_PRICE + 
        totalCostOfPizza, numberOfCokes, COKE_PRICE, totalCostOfCoke +
        foodAndDrinkTotal, totalSalesTax, totalAmountDue, amountPaid, +
        changeDue);
}        
Run Code Online (Sandbox Code Playgroud)

c#

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

如何使用正则表达式从一串数字中提取中间数字

我有一个包含两种格式的大数字的数据字段:

553000.468...705.46.0000000        <- Format 1
553000.469.5501000.704.47.0000000  <- Format 2
Run Code Online (Sandbox Code Playgroud)

我只需要中间包含703,704或705的三位数字

我可以使用正则表达式来拉这些数字,如下所示:

Regex num = new Regex(@"(?<number>7\d+) ?");
Match number = num.Match(numb);
if (number.Success)
    Console.WriteLine(num.Match(numb).Result("${number}")); 
Run Code Online (Sandbox Code Playgroud)

但是,只有在中间数字之前没有7时才有效

在我看来,接近它的最佳方式是专注于".".问题是我无法弄清楚如何在"."之后匹配字符.我可以在第一个"."之前提取数字.通过做这个:

Regex num = new Regex(@"(?<number>.\d+) ?");
Match number = num.Match(numb);
if (number.Success)
    Console.WriteLine(num.Match(numb).Result("${number}")); 
Run Code Online (Sandbox Code Playgroud)

这将给我在此期间之前的一切.我正在使用此处的备忘单,但它没有显示如何在"."之后匹配字符.如果我能弄清楚如何做到这一点,那么我可以重复模式,直到我得到我需要的数字,然后我可以使用上面的代码来摆脱之后的数字.这可能不是最有效的方法,但我从来没有使用过正则表达式,说实话我发现它很混乱.

编辑:

我被告知我需要提供更多的例子或更好地解释它.我有一个数据库表,其中包含一个名为Glsec的列.该字段包含两种格式的数字; 553000.468 ... 705.46.0000000和553000.469.5501000.704.47.0000000是两种格式的示例.

在553000.468 ... 705.46.0000000格式中,我只需要在第一组数字中找到的数字703,704或705 ...(左起第14个字符)

在553000.469.5501000.704.47.0000000格式中,我只需要从左侧(第20个字符)找到第四组数字703,704或705.

这组三人中的数字可能包含000到999之间的任何数字,但我只需要三个数字.也有可能703,704,705可以随机弹出其他数字组,所以我必须确保我从正确的位置抓取数字.

我希望能更好地解释它.

c# regex

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

C#:Operator'> ='不能应用于'System.DateTime?'类型的操作数 和'int'

我正在尝试执行以下操作:

where wt.Rqstcmpldt_dttm >= dueDate.Year - 3 && wt.Rqstcmpldt_dttm >= 2006 
    && wt.Rqstcmpldt_dttm < timeframe
Run Code Online (Sandbox Code Playgroud)

并获取上述错误消息.然后我尝试了这个:

where (wt.Rqstcmpldt_dttm ?? new DateTime(3000,1,1).Year >= dueDate.Year - 3) 
    && (wt.Rqstcmpldt_dttm ??  new DateTime(3000,1,1).Year >= 2006) 
    && (wt.Rqstcmpldt_dttm ??  new DateTime(3000,1,1).Year < timeframe)
Run Code Online (Sandbox Code Playgroud)

但我得到一个"运营商'??' 不能应用于'System.DateTime?'类型的操作数 和'bool'"错误.

我该如何进行操作?

c#

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