小编Pau*_*erø的帖子

在C#中使用动态创建的控件

我正在创建一个用户输入成绩的应用程序,程序将输出加权平均值.在加载时,它将询问分配的类别数.然后程序将动态创建文本框,供用户输入信息.问题是我无法弄清楚如何读取创建文本框后输入的文本.这是我的代码:

            TextBox txtbx = new TextBox();
            txtbx.Text = "";
            txtbx.Name = "txtbx1";
            txtbx.Location = new Point(10, 10);
            txtbx.Height = 20;
            txtbx.Width = 50;
            Controls.Add(txtbx);
Run Code Online (Sandbox Code Playgroud)

如何更改此代码,以便在用户提交时可以在框中找到当前文本?

c# controls

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

Visual Studio 2015无法识别Razor的web.config中的导入名称空间

我有一个包含大量.cshtml(WebPages,而不是MVC)文件的网站项目,我在web.config文件中定义了一组通用的命名空间,就像这样

<system.web.webPages.razor>
  <pages pageBaseType="Composite.AspNet.Razor.RazorFunction">
    <namespaces>
      <add namespace="DinArv.Forms"/>
      <add namespace="DinArv.Web"/>
    </namespaces>
  </pages>
</system.web.webPages.razor>
Run Code Online (Sandbox Code Playgroud)

在安装VS 2015 RTM之后,我突然在web.config中定义的名称空间中出现'类型或命名空间......找不到'类型的错误,而Resharper似乎没有问题.我还可以浏览页面,并且在构建我的网站时没有构建错误.在我的Visual Studio 2013中,Intellisense正在按预期工作.

如果我在.cshtml文件而不是web.config中显式导入名称空间,VS 2015也很满意,但我真的不想这样做.

有什么问题,我该如何解决?

VS 2015截图

asp.net intellisense razor asp.net-webpages visual-studio-2015

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

C#4.0从Parallel.ForEach中访问表单控件

下面的代码运行正常.我想知道它是否真的正确?

if (openFileDialog.ShowDialog() == DialogResult.OK)
{
    Parallel.ForEach(openFileDialog.FileNames, currentFile =>
    {
       try
       {
           StreamReader FileReader = new StreamReader(currentFile);
           do
           {
               URLtextBox.Invoke(new MethodInvoker(delegate
               {
                   URLtextBox.Text += SelectURLfromString(FileReader.ReadLine());
               }));
           }
           while (FileReader.Peek() != -1);
           FileReader.Close();
        }
        catch (System.Security.SecurityException ex)
        {
            ...
        }
        catch (Exception ex)
        {
            ...
        }
     });
}
Run Code Online (Sandbox Code Playgroud)

否则我得到"跨线程操作无效.控制'URLtextBox'从另一个线程访问"或卡住应用程序.

c# parallel-processing winforms

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

ASP.NET Eval DataBinding C#

你可以轻松地做到:

        <asp:Repeater ID="rptCityFriends" runat="server" OnItemDataBound="rptFriendsContainer_DataBound">
                <ItemTemplate>
                            <asp:ImageButton ID="imgThumb" runat="server" PostBackUrl='<%# Eval("FBUsuarioID","~/Friends.aspx?friendID={0}") %>' ImageUrl='<%# Eval("FBAvatarUsuario") %>' CssClass="imgThumbs" />
                </ItemTemplate>
            </asp:Repeater>
Run Code Online (Sandbox Code Playgroud)

但如果我想通过两个Querystrings?IE:

            <asp:Repeater ID="rptCityFriends" runat="server" OnItemDataBound="rptFriendsContainer_DataBound">
                    <ItemTemplate>
                                <asp:ImageButton ID="imgThumb" runat="server" PostBackUrl='<%# Eval("FBUsuarioID","FBNomeUsuario","~/Friends.aspx?friendID={0}&nUser={1}") %>' ImageUrl='<%# Eval("FBAvatarUsuario") %>' CssClass="imgThumbs" />

                    </ItemTemplate>
                </asp:Repeater>
Run Code Online (Sandbox Code Playgroud)

如何在"Eval DataBinding"中为URL设置两个或更多查询字符串?

asp.net data-binding eval

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

在数组中索引超出范围的异常

我在代码中不断超出范围异常.我进入调试模式,发现它为第0个索引本身提供了一个错误.任何帮助将不胜感激.

 namespace StringTest7
    {
        class Program
        {
        static void Main(string[] args)
        {

            Input();
            StarGenerator();
            RemovingWords();
            Console.ReadKey();

        }

        public static string [] forbiddenWords = new string [10];
        public static int numberOfForbiddenWords;

        public static string inputValue;

        public static void Input()
        {
            Console.WriteLine("Enter the value.");
            inputValue = Console.ReadLine();
            Console.WriteLine("Enter the number of forbidden words.");
            numberOfForbiddenWords = int.Parse(Console.ReadLine());
            Console.WriteLine("Please enter the forbidden words");
            for (int i = 0; i < numberOfForbiddenWords; i++)
                forbiddenWords[i] = Console.ReadLine();
        }

        public static void RemovingWords()
        {



            for(int i =0;i<numberOfForbiddenWords;i++) …
Run Code Online (Sandbox Code Playgroud)

c# loops

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