C# 如何将字体更改为Marathi

C# 如何将字体更改为Marathi,c#,.net,C#,.net,如果从组合框marathi中选择值,我需要将我的所有标签语言更改为marathi。为此,我使用Bharat01字体。但它给出了错误。 其他语言工作正常。如果我选择西班牙语,它会将hello转换为西班牙语,也会转换为法语。但在marathi中,它会给出错误 这是我的密码 public partial class Form1 : Form { public Form1() { InitializeComponent();

如果从组合框marathi中选择值,我需要将我的所有标签语言更改为marathi。为此,我使用Bharat01字体。但它给出了错误。 其他语言工作正常。如果我选择西班牙语,它会将hello转换为西班牙语,也会转换为法语。但在marathi中,它会给出错误 这是我的密码

 public partial class Form1 : Form
    {
        public Form1()
        {

            InitializeComponent();
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void Form1_Load(object sender, EventArgs e)
        {
            comboBox1.Items.Add("English");
            comboBox1.Items.Add("Spanish");
            comboBox1.Items.Add("French");
            comboBox1.Items.Add("Bharat01");
            comboBox1.SelectedIndex = 0;
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

            if (comboBox1.SelectedItem.ToString() == "English")
            {
                ChangeLanguage("en");
            }
            else if (comboBox1.SelectedItem.ToString() == "Spanish")
            {
                ChangeLanguage("es-ES");
            }
            else if (comboBox1.SelectedItem.ToString() == "Bharat01")
            {

                ChangeLanguage("bh-BH");

            }
            else
            {
                ChangeLanguage("fr-FR");
            }
        }
        private void ChangeLanguage(string lang)
        {
            foreach (Control c in this.Controls)
            {
                ComponentResourceManager resources = new ComponentResourceManager(typeof(Form1));
                resources.ApplyResources(c, c.Name, new CultureInfo(lang));
            }
        }
    }

对于马拉地语,请尝试更改语言(“mr IN”)

参考:

您将文化和UiCulture与字体混为一谈

对于使用马拉地语的内容,文化应设置为“mr in”


尝试调用
ChangeLanguage(“mr IN”)
将语言文化更改为马拉地语。一旦你成功了,那么就改变字体。

如果你将区域性字符串作为组合项的值添加,不是会容易得多吗?还要注意8位印度编码的字体-它们将ASCII码点映射到印度字母表的字符,但在Unicode中没有用。