Click here to Skip to main content
15,919,028 members
Home / Discussions / C#
   

C#

 
GeneralRe: DotNet ThreadPool not meant for long running jobs? [modified] Pin
Keith Barrow3-Dec-10 21:46
professionalKeith Barrow3-Dec-10 21:46 
GeneralThank you guys Pin
devvvy4-Dec-10 13:54
devvvy4-Dec-10 13:54 
AnswerRe: DotNet ThreadPool not meant for long running jobs? Pin
#realJSOP3-Dec-10 4:06
professional#realJSOP3-Dec-10 4:06 
AnswerRe: DotNet ThreadPool not meant for long running jobs? [modified] Pin
Luc Pattyn3-Dec-10 17:05
sitebuilderLuc Pattyn3-Dec-10 17:05 
AnswerRe: DotNet ThreadPool not meant for long running jobs? Pin
Pete O'Hanlon3-Dec-10 20:56
mvePete O'Hanlon3-Dec-10 20:56 
QuestionCorordinate problem when load the image in picture box in zoom mode Pin
Nivas822-Dec-10 22:10
Nivas822-Dec-10 22:10 
AnswerRe: Corordinate problem when load the image in picture box in zoom mode Pin
Luc Pattyn3-Dec-10 0:51
sitebuilderLuc Pattyn3-Dec-10 0:51 
QuestionNeeded to Create a Scrolling Ticker with LinkLabel Functionality Pin
honeyashu2-Dec-10 20:04
honeyashu2-Dec-10 20:04 
Hi,
In my project I use a ticker to display feeds which get displayed in a scrolling way.
In this we are converting the string to be displayed in BitmapImage and adding it up to the ticker by drawing in it..
Attached is the needed code with the message.:
What i need is the image which we are displaying on clicking on it will open up the URL (which is actually the string now converted to image). i.e. on clicking that scrolling tick will open the displayed URL.




To create bitmap image of the string
private Image CreateBitMapImage(string upText, string downText, int trend)
       {
           Image trendImage;
           ImageAttributes iaTrend;
           if (trend > 0 && _ticker.UpTrendImage != null)
           {
               trendImage = (Image)_ticker.UpTrendImage.Clone();
               iaTrend = _ticker.IaUpTrend;
           }
           else if (trend == 0 && _ticker.NoTrendImage != null)
           {
               trendImage = (Image)_ticker.NoTrendImage.Clone();
               iaTrend = _ticker.IaNoTrend;
           }
           else
           {
               trendImage = (Image)_ticker.DownTrendImage.Clone();
               iaTrend = _ticker.IaDownTrend;
           }

           Bitmap b = new Bitmap(1, 1);
           Font f = _ticker.Font;
           Graphics graphics;
           SolidBrush textBrush = new SolidBrush(_ticker.ForeColor);
           graphics = Graphics.FromImage(b);
           try
           {
               int width = (int)graphics.MeasureString(upText + downText, f).Width +
                           _ticker.UpTrendImage.Width;
               //int height = Height - Padding.Bottom - Padding.Top;
               Rectangle _rect =
                   new Rectangle((int)graphics.MeasureString(upText + downText, f).Width, 0,
                                 trendImage.Width, _ticker.Height);

               b = new Bitmap(b, new Size(width, _ticker.Height));

               graphics = Graphics.FromImage(b);

               graphics.DrawString(upText, f, textBrush, 0, 0);
               graphics.DrawString(downText, f, textBrush,
                                   (int)graphics.MeasureString(upText, f).Width, _ticker.DownTrendRectY);
               graphics.DrawImage(trendImage, _rect, 0, 0, trendImage.Width, trendImage.Height,
                                  GraphicsUnit.Pixel, iaTrend);
               return b;

           }
           catch (Exception _ex)
           {
               throw _ex;
           }
           finally
           {
               graphics.Dispose();
               textBrush.Dispose();
           }
       }



to add the item to the ticker panel

public void AddTickerItem(Image img)
        {
            lock (_tickerItemLock)
            {
                if (Visible)
                {
                    TickerImageItem _tickImage = new TickerImageItem();
                    _tickImage.ImageTick = img;
                    _tickImage.rectF.Y = Padding.Top;
                    _tickImage.rectF.Height = Height;
                    _tickImage.rectF.Width = _tickImage.ImageTick.Width;

                    //Initial Position X coordinate of the ticker items
                    if (items.Count <= 0)
                    {
                        if (startingPositionHasBeenSetAfterHeight == false)
                        {
                            _tickImage.rectF.X = Width - 1;
                            startingPositionHasBeenSetAfterHeight = true;
                        }
                    }
                    else
                    {
                        _tickImage.rectF.X = items[items.Count - 1].rectF.X + items[items.Count - 1].rectF.Width;
                    }
                    items.Add(_tickImage);
                }
            }
        }



To Draw the Image:
private void Draw(bool bFullImage, Graphics graphicsObj)
       {
           lock (this)
           {
               if (graphicsObj != null)
               {
                   RectangleF clipRectF = ClientRectangle;
                   graphicsObj.Clear(BackColor);
                   if (bFullImage)
                   {
                       if (items.Count > 0 && items[0].rectF.X + items[0].rectF.Width <= 0)
                       {
                           lock (_tickerItemLock)
                           {
                               items.Remove(items[0]);
                           }
                       }
                       for (int i = 0; i < items.Count; i++)
                       {
                           TickerImageItem item = items[i];
                           if (clipRectF.IntersectsWith(item.rectF))
                           {
                               item.rectF.X -= XCoordinateDifference;
                               graphicsObj.DrawImageUnscaled(item.ImageTick, Rectangle.Ceiling(item.rectF));
                           }
                           else
                               item.rectF.X -= XCoordinateDifference;
                       }
                       if (ManagedBackBuffer!=null &&
                           ManagedBackBuffer.Graphics != null &&
                           GraphicManager!= null)
                           ManagedBackBuffer.Render();
                   }
                   else if (!bFullImage)
                   {
                       graphicsObj.Clear(BackColor);

                       for (int i = 0; i < items.Count; i++)
                       {
                           TickerImageItem item = items[i];
                           if (item.rectF.X + item.rectF.Width <= 0)
                               items.Remove(item);
                           else if (clipRectF.IntersectsWith(item.rectF))
                               graphicsObj.DrawImageUnscaled(item.ImageTick, Rectangle.Ceiling(item.rectF));
                           else
                               break;
                       }
                   }
                   // Draw a border
                   ControlPaint.DrawBorder(graphicsObj, ClientRectangle, BackColor,
                                           ButtonBorderStyle.Solid);
               }
           }
       }

AnswerRe: Needed to Create a Scrolling Ticker with LinkLabel Functionality Pin
Jacob D Dixon4-Dec-10 3:23
Jacob D Dixon4-Dec-10 3:23 
QuestionListView in C#.net Pin
mathy2-Dec-10 19:52
mathy2-Dec-10 19:52 
AnswerRe: ListView in C#.net Pin
Hiren solanki2-Dec-10 19:54
Hiren solanki2-Dec-10 19:54 
AnswerRe: ListView in C#.net Pin
Sathesh Sakthivel2-Dec-10 21:24
Sathesh Sakthivel2-Dec-10 21:24 
GeneralRe: ListView in C#.net Pin
Hiren solanki2-Dec-10 21:42
Hiren solanki2-Dec-10 21:42 
GeneralRe: ListView in C#.net Pin
phil.o3-Dec-10 2:33
professionalphil.o3-Dec-10 2:33 
GeneralRe: ListView in C#.net Pin
Hiren solanki3-Dec-10 2:37
Hiren solanki3-Dec-10 2:37 
QuestionLinq in 3.0 Framework Pin
Tiger4562-Dec-10 18:57
Tiger4562-Dec-10 18:57 
AnswerRe: Linq in 3.0 Framework Pin
Hiren solanki2-Dec-10 19:21
Hiren solanki2-Dec-10 19:21 
GeneralRe: Linq in 3.0 Framework Pin
Tiger4562-Dec-10 20:50
Tiger4562-Dec-10 20:50 
AnswerRe: Linq in 3.0 Framework Pin
Hiren solanki2-Dec-10 21:44
Hiren solanki2-Dec-10 21:44 
GeneralRe: Linq in 3.0 Framework Pin
Tiger4562-Dec-10 21:57
Tiger4562-Dec-10 21:57 
QuestionSave and Save as [modified] Pin
squerley2-Dec-10 10:20
squerley2-Dec-10 10:20 
AnswerRe: Save and Save as Pin
Pete O'Hanlon2-Dec-10 10:36
mvePete O'Hanlon2-Dec-10 10:36 
GeneralRe: Save and Save as Pin
GenJerDan2-Dec-10 11:25
GenJerDan2-Dec-10 11:25 
GeneralRe: Save and Save as Pin
squerley2-Dec-10 11:39
squerley2-Dec-10 11:39 
GeneralRe: Save and Save as Pin
Pete O'Hanlon2-Dec-10 11:55
mvePete O'Hanlon2-Dec-10 11:55 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.