在NotifyIcon应用程序中使用多个项目
本文关键字:项目 NotifyIcon 应用程序 | 更新日期: 2023-09-27 17:49:21
所以我遇到了最奇怪的问题。我只是想写一个简单的c# WinForms工具供个人使用,当我遇到它。我将从头开始,真正的问题将在最后。
我创建了一个NotifyIcon应用程序。这很简单,我刚刚做了:
public class MyApp: ApplicationContext
{
NotifyIcon icon;
public MyApp()
{
// ...
}
// ...
}
并像其他WinForms应用程序一样启动应用程序:
Application.Run(new MyApp());
现在我添加了一个新的MyApp。数据类项目,它包含一个本地数据库,并使用edmx helper来生成我的EF模型。我添加了一个叫做Database的静态类,它应该包含我所有的查询。
public static class DataBase
{
static MyAppModel db = new MyAppModel();
public static void AddEntry(SomeThing st)
{
db.SomeThings.AddObject(st);
db.SaveChanges();
}
public static String[] GetSomeThings(int numberOfEntries)
{
return db.SomeThings.OrderBy(x => x.Date).Select(x => x.Title).Take(numberOfEntries).ToArray();
}
}
回到WinForms NotifyIcon项目中,我添加了MyApp。数据汇编(和EF汇编)和当我调用DataBase.AddEntry(x)
时一切都工作得很好,但是当我使用Database.GetSomeThings(10)
时一切都中断了。
var x = Database.GetSomeThings(10);
String[] y = Database.GetSomeThings(10);
只是静默失败,没有错误。x
和y
都不出现在本地,不能被观察。有人知道吗?
编辑:我直接绑定到comboBox,它神奇地工作。现在我打开自动完成模式和源,我得到一个错误消息:
f
不幸是德语,但我想我能解决这个问题:
http://msdn.microsoft.com/de-de/library/ms182351%28vs.80%29.aspx所以我认为这解决了问题(为应用程序创建一个起点,如果我将其设置为单例,那么其他一切都将是愚蠢的)。
public static class Program
{
private static MyApp activeInstance;
[STAThread]
public static void Main()
{
if (activeInstance == null)
{
activeInstance = new MyApp();
Application.Run(activeInstance);
}
}
}
如果有人知道我在这里做了什么,我会很感激。那些[ tags ]
可能是编程中我最不懂的东西了