Tag: .net 2.0

本地化:如何将文化信息映射到脚本名称或Unicode字符范围?

我需要一些有关本地化的信息。 我正在使用带有C#2.0的.net 2.0来处理大多数与本地化相关的问题。 但是,我需要在一个特定的屏幕上手动绘制屏幕上当前文化对应的字母。 这类似于Microsoft Outlook中的“联系人”屏幕(“联系人”下的“地址卡”视图或“详细地址卡”视图),因此需要右端的按钮列,每个字母表一个。 我试图模仿,但我不想让用户选择脚本。 如果说现在的文化,中文,我想画中文字母。 当用户将文化信息更改为英语(并且当他重新启动应用程序时)我想要绘制英文字母。 希望您了解我在这个查询中的位置。 我可以确定当前用户的文化(Application.CurrentCulture或System.Globalization.CultureInfo.CurrentCulture将提供与文化相关的信息)。 我还有所有脚本来呈现字母表。 但是,问题是我不知道如何将文化信息映射到脚本的名称。 换句话说,有没有办法确定与文化相对应的脚本名称? 或者是否可以确定与文化相对应的Unicode字符值的范围? 它们中的任何一个都允许我正确地在按钮上呈现字母。 对此有任何建议或指导是真的很感激。 如果我的方法(或我想要实现的目标)存在根本性的错误,请同时指出。 谢谢你的时间。 PS:我知道最简单的解决方案是将脚本名称配置为用户首选项的一部分,或显示用户可供选择的语言列表(Outlook 2007中的联系人)。 但我只是想看看我是否可以渲染对应于文化的字母表,而无需用户做任何事情。

自定义DateTime XML序列化

我希望能够使用不是服务器的特定时区序列化DateTime,也不是客户端时间。 基本上,任何时区。 是否可以在.Net2.0 webservices中覆盖DateTime序列化? 我使用xsd.exe编译xmlschema,所以我尝试使用XmlSchemaImporter。 OnSerialize示例显示值更改,但不更改输出格式。 XmlSchemaImporter,将其加载到gac中,运行xsd.exe,并生成具有我想要的类的代码……但该类是一个属性,最终无法反映。 [InvalidOperationException:无法序列化类型为Cuahsi.XmlOverrides.W3CDateTime的成员’metadataDateTime’。 XmlAttribute / XmlText不能用于编码复杂类型。] 生成的代码 [System.Xml.Serialization.XmlAttributeAttribute()] public Cuahsi.XmlOverrides.W3CDateTime dateTime { get { return this.dateTimeField; } set { this.dateTimeField = value; } } XmlSchemaImporter public class ImportW3CTime : System.Xml.Serialization.Advanced.SchemaImporterExtension { public override string ImportSchemaType(string name, string ns, XmlSchemaObject context, XmlSchemas schemas, XmlSchemaImporter importer, CodeCompileUnit compileUnit, CodeNamespace mainNamespace, CodeGenerationOptions options, […]

客户发现响应内容类型为“text / html”,但预期为“text / xml”

我收到此错误: 客户发现响应内容类型为“text / html”,但预期为“text / xml”。 我正在为实时搜索添加网络参考。 当我构建项目时,它的成功。 但之后,一旦我在文本框中输入一些文本并输入搜索按钮,就会出现此错误。 我使用我的本地机器和使用.net 2.0与C#。 Plz帮我… 提前致谢…

直接流式传输到数据库

我正在使用c#,并且有一个开放的tcpip连接接收数据。 是否可以将流保存到ms sql server数据库,因为我收到它,而不是接收所有数据,然后保存所有数据? 如果流可以在接收时发送到数据库,则不必将整个数据块保留在内存中。 这是可能吗?

在C#2.0中使用Registry(Windows窗体)

我是Windows Forms的新手。 我正在.Net Framework 2.0中设计一个Windows应用程序,其中,我需要在系统中的某处存储用户名和密码,并在每次打开我的应用程序时访问它们,有时我需要在用户命令上更改这些凭据。 我听说注册表是这样做的最佳方式。 我对C#.Net中使用注册表一无所知。 你能帮帮我吗 如何获取注册表中的值以及如何将值设置为注册表。 ?? 我正在使用.Net Framework 2.0

如何在失去焦点后保持NumericUpDown的无效值?

在我的项目中有一个UserControl,它包含一个NumericUpDown ctrl,其有效值范围是10到100 , 所以如果用户在NumericUpDown ctrl中输入200,那么在焦点改变为其他ctrl后它的值会自动变为100,对于客户来说它看起来有点好奇,因为他们可能会在NumericUpDown ctrl中输入200之后点击OK按钮,需要一个消息框,告诉他们输入的值不在范围内。 但问题是,如果值输入超出其范围,NumericUpDown的值将在焦点更改后自动更改。 那么如何实现呢? Sameh Serag,这是我测试过的代码。 我在表单上添加了一个按钮,但什么也没做。 我的结果是在输入200并单击按钮后,只显示值为100的消息框。 输入200并按Tab键后,它只会显示一个值为200的消息框,并且NumericUpDown中的文本值更改为100.好奇:-)无论如何,非常感谢你的帮助! 顺便说一句,.Net框架版本是2.0,sp2对我来说。 public partial class Form1 : Form { private TextBox txt; public Form1() { InitializeComponent(); txt = (TextBox)numericUpDown1.Controls[1]; txt.Validating += new CancelEventHandler(txt_Validating); } void txt_Validating(object sender, CancelEventArgs e) { MessageBox.Show(txt.Text); } }

当文件被锁定时,模拟等待文件。在C#中打开

基本上,我和这张海报有同样的问题,但是在C#中: 等待文件可以用Win32读取 更多信息:我们的代码在我们的一个项目中调用File.Open ,当文件已被另一个进程( EDIT:或线程)打开时偶尔会死掉: FileStream stream = File.Open(m_fileName, m_mode, m_access); /* do stream-type-stuff */ stream.Close(); File.Open将抛出一个IOException (当前正在某处悄悄吞下),其HResult属性为0x80070020 ( ERROR_SHARING_VIOLATION )。 我想做的是: FileStream stream = null; while (stream == null) { try { stream = File.Open(m_fileName, m_mode, m_access, FileShare.Read); } catch (IOException e) { const int ERROR_SHARING_VIOLATION = int(0x80070020); if (e.HResult != ERROR_SHARING_VIOLATION) throw; else […]

ListBox选择所有项目

单击CheckBox时,我需要选择ListBox中的所有项目。 是否可以使用一行代码选择ListBox中的所有项目? 或者我是否必须遍历所有项目并将其中的每一项设置为true? 谢谢 :)

一般枚举.Net控件的项目(MenuStrip,ToolStrip,StatusStrip)

我有一些代码,通常会在表单中获取所有控件并将它们放在列表中。 这是一些代码: private List GetControlList(Form parentForm) { List controlList = new List(); AddControlsToList(parentForm.Controls, controlList); return controlList; } private void AddControlsToList(Control.ControlCollection rootControls, List controlList) { foreach (Control c in rootControls) { controlList.Add(c); if (c.HasChildren) AddControlsToList(c.Controls, controlList); // } } 所以我只能使用c.HasChildren检查并查看是否还有来自此根控件的子控件。 menuStrip,toolStrip和statusStrip怎么样? 如何获得这些控件中的所有控件? 例如:MenuStripItem 我知道我可以尝试测试c.GetType()== typeof(MenuStrip),但我希望不必进行特定的类型测试。 如果我需要提供更多信息,请询问。 谢谢你们

C#2.0generics:如何创建零参数的Action对象

首先,我使用的是VS2005和C#2.0。 我正在尝试从SelectedIndexChanged事件中设置一个combobox’Text属性。 从StackOverflow上的另一个线程开始,提出了以下方法: BeginInvoke(new Action(() => someCombobox.Text = “x” )); 现在,首先,这将为我返回编译器错误。 我相信这是因为Action对象在两种语言规范中表现不同。 在C#2.0中,Action对象似乎在所有声明中都需要结构。 也许我错了,但我想澄清一下。 工作如下: BeginInvoke(new Action( delegate { someCombobox.Text = “x”; }), new object[] { “” }); 但是,我似乎很奇怪,我必须使用类型参数定义Action对象(特别是因为我不打算传递任何参数)! 以某种方式删除此参数也会使空的新对象[]过时,这就是我想要的。 任何人都可以帮我简化上述电话吗? 最后,是否保证BeginInvoke将在SelectedIndexChanged之后完成,从而使用正确的文本更新combobox’Text属性? 我真的很感激能够学习这些问题的答案。