1

vs 2008では追加できないため、メニューストリップにトラックバーを手動で追加しました。ただし、トラックバーの値を取得できません。

Form1.cs:

[ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.MenuStrip |
                                        ToolStripItemDesignerAvailability.ContextMenuStrip)]
     public class TrackBarMenuItem : ToolStripControlHost
     {
         private TrackBar trackBar;

         public TrackBarMenuItem()
             : base(new TrackBar())
         {
             this.trackBar = this.Control as TrackBar;
             trackBar.TickFrequency = 1;
             trackBar.Maximum = 255;
             trackBar.LargeChange = 5;
             trackBar.SmallChange = 2;
         }
     }

Form1.Designer.cs:

private TrackBarMenuItem trackBar1;
// 
// trackBar1
// 
this.trackBar1.Name = "trackBar1";
this.trackBar1.Size = new System.Drawing.Size(104, 25);

これが私がそれを使う必要がある方法です:

         private void trackBar1_Scroll(object sender, System.EventArgs e)
     {
         int valueB = trackBar1.Value;
         pictureBox2.Image = Deneme(new Bitmap(pictureBox1.Image),valueB);

     }

しかし、私はこのエラーを受け取ります:

エラー1'goruntuIsleme2.Form1.TrackBarMenuItem'に'Value'の定義が含まれておらず、タイプ'goruntuIsleme2.Form1.TrackBarMenuItem'の最初の引数を受け入れる拡張メソッド'Value'が見つかりませんでした(usingディレクティブまたはアセンブリリファレンス?)

何か案は?

4

3 に答える 3

1

内部 Trackbar オブジェクトの値を、新しい TrackBarMenuItem クラスのプロパティとして公開します。

Value { get { return trackBar.Value; } set { trackBar.Value = value; } }
于 2011-10-26T08:39:28.007 に答える
0

あなたのクラスTrackBarMenuItemには というプロパティがありますValueか? そうでない場合は、追加する必要があります。

于 2011-10-26T08:39:17.813 に答える