0

私は A レベル コンピューティング プロジェクト用に発射体のモーション シミュレーション プログラムを作成しています。これをラベルやリッチ テキスト ボックスで使用する方法がわかりません。これを実装するためのヘルプ/コードを教えてください。

4

2 に答える 2

2

これを行うには、 RichTextBoxのSelectionCharOffsetプロパティを使用する必要があります。

下付き文字の場合は、次のように数値を負にします。

richTextBox1.SelectionCharOffset = -10;
于 2012-12-20T23:04:13.450 に答える
0

SelectioncharOffset は最適なオプションではありません。rtf を操作して下付きラベルを追加することをお勧めします。

//This allows you to reselect the text in the rtb after formatting
            int SelectionStart = richTextBox1.SelectionStart;
            int SelectionLength = richTextBox1.SelectionLength;

            string selectedRtf = richTextBox1.SelectedRtf;
            int Start;
            int End;
            string pre;
            string Mid;
            string post;

            //remove superscript from selected text
            Start = selectedRtf.IndexOf("\\super");
            while (Start != -1)
            {
                pre = selectedRtf.Substring(0, Start);
                post = selectedRtf.Substring(Start + 6, selectedRtf.Length - (Start + 6));
                selectedRtf = pre.Trim() + post.Trim();
                Start = selectedRtf.IndexOf("\\super");
            }

            //if selected text does not contain subscript
            if (selectedRtf.IndexOf("\\sub") == -1 && selectedRtf.IndexOf("\\nosupersub") == -1)
            {
                Start = selectedRtf.IndexOf("}}") + 2;
                End = selectedRtf.IndexOf("}", Start);
                pre = selectedRtf.Substring(0, Start);
                Mid = selectedRtf.Substring(Start, End - Start);
                post = selectedRtf.Substring(End, selectedRtf.Length - End);
                selectedRtf = pre + "\\sub" + Mid + "\\nosupersub" + post;
                goto Clean;
            }
            //if selected text contains subscript
            if (selectedRtf.IndexOf("\\sub") > 0)
            {
                Start = selectedRtf.IndexOf("\\sub");
                while (Start != -1)
                {
                    pre = selectedRtf.Substring(0, Start);
                    post = selectedRtf.Substring(Start + 4, selectedRtf.Length - (Start + 4));
                    selectedRtf = pre.Trim() + post.Trim();
                    Start = selectedRtf.IndexOf("\\sub");

                }
                goto Clean;
            }


        Clean:
            richTextBox1.SelectedRtf = selectedRtf;
            richTextBox1.Focus();
            richTextBox1.SelectionStart = SelectionStart;
            richTextBox1.SelectionLength = SelectionLength;
于 2013-01-04T16:42:51.330 に答える