RedrawItems() private method

private RedrawItems ( int startIndex, int endIndex, bool invalidateOnly ) : void
startIndex int
endIndex int
invalidateOnly bool
return void
Esempio n. 1
0
        /// <summary>
        /// 指定インデクス範囲のアイテムを再描画
        /// </summary>
        /// <param name="startIndex">開始インデックス(-1で最末尾)</param>
        /// <param name="endIndex">終了インデックス(-1で最末尾)</param>
        /// <param name="invalidateOnly">無効にした後、再描画しない場合true</param>
        public void RedrawItem(int startIndex, int endIndex, bool invalidateOnly)
        {
            if (startIndex == -1)
            {
                startIndex = _itemList.Count - 1;
            }

            if (endIndex == -1)
            {
                endIndex = _itemList.Count - 1;
            }

            int _startIndex = GetIndex(startIndex);
            int _endIndex   = GetIndex(endIndex);

            if (_startIndex > _endIndex)
            {
                int tmp = _startIndex;
                _startIndex = _endIndex;
                _endIndex   = tmp;
            }

            Debug.WriteLine(string.Format("RedrawItems({0}/{1}.{2}/{3})",
                                          startIndex, _startIndex, endIndex, _endIndex));

            if (_lvTarget.InvokeRequired)
            {
                _lvTarget.Invoke((MethodInvoker)(()
                                                 => {
                    _lvTarget.RedrawItems(_startIndex, _endIndex, invalidateOnly);
//                    _lvTarget.Invalidate();
                }));
            }
            else
            {
                _lvTarget.RedrawItems(_startIndex, _endIndex, invalidateOnly);
//                _lvTarget.Invalidate();
            }
        }
Esempio n. 2
0
		public void RedrawItems_Exceptions ()
		{
			ListView lvw = new ListView ();
			lvw.Items.Add ("A");
			lvw.Items.Add ("B");

			try {
				lvw.RedrawItems (-1, 1, true);
				Assert.Fail ("#A1");
			} catch (ArgumentOutOfRangeException) {
			}

			try {
				lvw.RedrawItems (0, -1, true);
				Assert.Fail ("#A2");
			} catch (ArgumentOutOfRangeException) {
			}

			try {
				lvw.RedrawItems (lvw.Items.Count, 1, true);
				Assert.Fail ("#A3");
			} catch (ArgumentOutOfRangeException) {
			}

			try {
				lvw.RedrawItems (0, lvw.Items.Count, true);
				Assert.Fail ("#A4");
			} catch (ArgumentOutOfRangeException) {
			}

			try {
				lvw.RedrawItems (1, 0, true);
				Assert.Fail ("#A5");
			} catch (ArgumentException) {
			}
		}