我用C#创建了Windows Form程序.本地化有一些问题.我有2种语言的资源文件(一种用于英语,另一种用于法语).我想单击每个语言按钮并在运行时更改语言.
但是,当我点击按钮时,它不起作用.我正在使用此代码.
private void btnfrench_Click(object sender, EventArgs e)
{
getlanguage("fr-FR");
}
private void getlanguage(string lan)
{
foreach (Control c in this.Controls)
{
ComponentResourceManager cmp =
new ComponentResourceManager(typeof(BanksForm));
cmp.ApplyResources(c, c.Name, new CultureInfo(lan));
}
}
Run Code Online (Sandbox Code Playgroud)
请问有什么帮助......
非常感谢....
我正在开发一个必须将一些键或鼠标事件发送到活动窗口的应用程序.
我正在使用这个类: 鼠标
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace Mouse
{
public static class VirtualMouse
{
// import the necessary API function so .NET can
// marshall parameters appropriately
[DllImport("user32.dll")]
static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo);
// constants for the mouse_input() API function
private const int MOUSEEVENTF_MOVE = 0x0001;
private const int MOUSEEVENTF_LEFTDOWN = 0x0002;
private const int MOUSEEVENTF_LEFTUP = 0x0004;
private const int MOUSEEVENTF_RIGHTDOWN = 0x0008;
private const int MOUSEEVENTF_RIGHTUP = 0x0010;
private …Run Code Online (Sandbox Code Playgroud) for (var keyValue = 0; keyValue < dwhSessionDto.KeyValues.Count; keyValue++)
{...}
var count = dwhSessionDto.KeyValues.Count;
for (var keyValue = 0; keyValue < count; keyValue++)
{...}
Run Code Online (Sandbox Code Playgroud)
我知道两者之间存在差异,但其中一种比另一种更快?我认为第二个更快.
我有一个名为visit以下列的表:
visit_Id
member_Id
visit_Date
visit_Time
visit_DateTime
visit_Status values like (accepted, refused)
Run Code Online (Sandbox Code Playgroud)
我有以下SQL查询:
string sql = @"SELECT CONCAT(UPPER(SUBSTRING(visit_Status, 1, 1)), SUBSTRING(visit_Status FROM 2)) as Status, COUNT('x') AS Visits
FROM visits
WHERE visit_Date BETWEEN '2001-09-08' AND '2009-09-09'
GROUP BY visit_Status";
Run Code Online (Sandbox Code Playgroud)
如何将此SQL转换为LINQ?我的实体名称是dbcontext.在此先感谢您的帮助.
我只是试图使用控制台应用程序来掌握虚拟功能的概念.我注意到,一旦覆盖基类函数,返回baseclassname.functionname(参数)就会自动插入到我的函数体中.为什么会这样?
class advanc
{
public virtual int calc (int a , int b)
{
return (a * b);
}
}
class advn : advanc
{
public override int calc(int a, int b)
{
//automatically inserted
return base.calc(a, b);
}
}
Run Code Online (Sandbox Code Playgroud) 我试图在用户到达列表框底部时实现一个懒惰的"加载更多"项目,但每当我尝试将新项目添加到列表框时,我得到的结果如下:
"只读集合不支持操作."
我已经尝试过从论坛到博客的几个解决方案似乎都没有用.我甚至无法理解这个对我来说有点奇怪的问题背后的逻辑.
我正在做的基本上是加载一个项目列表并指定为我的列表框的itemsource.
wineFilterListBox.ItemsSource = wines;
Run Code Online (Sandbox Code Playgroud)
当用户到达列表的底部时,我添加更多项目(就像wp7的twitter app一样)
public ObservableCollection<Wine> wines;
...
if (atBottom)
{
int Count = page.wineFilterListBox.Items.Count;
int end = Count + 10;
for (int i = Count; i < end; i++)
{
page.LoadWineList(Count);
}
}
...
private void LoadWineList(int Count = 1)
{
...
wineFilterListBox.Items.Add(wines);
}
Run Code Online (Sandbox Code Playgroud) 我已经创建了一个简单的List函数,但是如果我循环遍历List它就是空的.不应该!
// List function
public class process_hook
{
public static List<String> pro_hook = new List<String>
(new String[] { list_all_pocesses() });
protected static string list_all_pocesses()
{
StringBuilder _list = new StringBuilder();
foreach (Process i in Process.GetProcesses("."))
{
try
{
foreach (ProcessModule pm in i.Modules)
{
pro_hook.Add(pm.FileName.ToString());
}
}
catch { }
}
return _list.ToString();
}
}
// call
private void button1_Click(object sender, EventArgs e)
{
foreach (String _list in process_hook.pro_hook)
{
Console.WriteLine(_list);
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个DataGridview1和a ListView,当我选择列表视图项时(我将ListView项目传递给查询并DataGrid根据该项填充视图)
我写了一些像这样的代码....
private void listview_selectedindexchanged(object sender event args)
{
if (listview.SelectedItems.Count > 0 && listview.SelectedItems[0].Group.Name == "abc")
{
if(lstview.SelectedItems[0].Text.ToString() == "sfs")
{
method1();
}
else
{
// datagrid view1 binding
blah.....
}
}
if (lstview.SelectedItems.Count > 0 && lstview.SelectedItems[0].Group.Name == "def")
{
if(lstview.SelectedItems[0].Text.ToString() == "xyz")
{
method 1();
}
if(lstview.SelectedItems[0].Text.ToString() == "ghi")
{
method 2(a,b);
}
if(lstview.SelectedItems[0].Text.ToString() == "jkl")
{
method 2(c,d);
}
if(lstview.SelectedItems[0].Text.ToString() == "mno")
{
method 3();
}
}
} …Run Code Online (Sandbox Code Playgroud) 我试图通过使用下面的代码从数据库中获取数据.....
如果表中没有数据,它将始终转到此语句
我使用mysql.net连接器获取数据,我正在使用c#进行winforms应用程序
public DataTable sales(DateTime startdate, DateTime enddate)
{
const string sql = @"SELECT memberAccTran_Source as Category, sum(memberAccTran_Value) as Value
FROM memberacctrans
WHERE memberAccTran_DateTime BETWEEN @startdate AND @enddate
GROUP BY memberAccTran_Source";
return sqlexecution(startdate, enddate, sql);
}
Run Code Online (Sandbox Code Playgroud)
以下代码用于返回sqlexceution ...函数..
private static DataTable sqlexecution(DateTime startdate, DateTime enddate, string sql)
{
var table = new DataTable();
using (var conn = new MySql.Data.MySqlClient.MySqlConnection(connectionstring))
{
conn.Open();
var cmd = new MySql.Data.MySqlClient.MySqlCommand(sql, conn);
var ds = new DataSet();
var parameter = new MySql.Data.MySqlClient.MySqlParameter("@startdate", MySql.Data.MySqlClient.MySqlDbType.DateTime);
parameter.Direction …Run Code Online (Sandbox Code Playgroud) 希望这是一个简单的问题,我不理解基本的东西.以下是我正在处理的应用程序中的两个Linq语句.
EDMXModel.Classes.Period p1 = entities.Periods.DefaultIfEmpty(null).OrderByDescending(ap => ap.UID).First();
EDMXModel.Classes.Period p2 = entities.Periods.OrderByDescending(ap => ap.UID).DefaultIfEmpty(null).First();
Run Code Online (Sandbox Code Playgroud)
entities.Periods是一个包含两个Period对象的集合,每个对象都有一个unique UID.
根据我理解的一切,p1和p2应该是相同的.
然而,在我的环境中,它们不是.
p1是正确的(即它等于集合中具有最大UID的Period对象).
但是,p2不正确(即它等于集合中的其他Period).
有任何想法吗?
c# ×10
.net ×5
winforms ×4
linq ×2
datagridview ×1
dataset ×1
list ×1
listview ×1
localization ×1
mouseevent ×1
process ×1
refactoring ×1
silverlight ×1
sql ×1